compiler/
lib/
examples/
std/
arch/
collections/
lang/
alloc/
ast/
gen/
il/
lower/
tests/
addfn.rad
52 B
addfn.ril
76 B
arith.subword.rad
1.0 KiB
arith.subword.ril
1.2 KiB
arith.w64.rad
1.1 KiB
arith.w64.ril
1.1 KiB
array.aggregate.stride.rad
753 B
array.aggregate.stride.ril
1.1 KiB
array.assign.rad
119 B
array.assign.ril
116 B
array.index.rad
119 B
array.index.ril
233 B
array.len.const.rad
348 B
array.len.const.ril
200 B
array.literal.rad
136 B
array.literal.ril
329 B
array.nested.rad
118 B
array.nested.ril
392 B
array.repeat.rad
722 B
array.repeat.ril
916 B
array.slice.full.rad
110 B
array.slice.full.ril
168 B
array.slice.openend.rad
134 B
array.slice.openend.ril
245 B
array.slice.openstart.rad
134 B
array.slice.openstart.ril
183 B
assert.basic.rad
95 B
assert.basic.ril
138 B
assert.message.rad
123 B
assert.message.ril
141 B
assign.loop.rad
205 B
assign.loop.ril
242 B
assign.multi.var.rad
182 B
assign.multi.var.ril
73 B
assign.param.rad
142 B
assign.param.ril
96 B
assign.self.ref.rad
153 B
assign.self.ref.ril
92 B
assign.sequential.rad
155 B
assign.sequential.ril
52 B
assign.use.intermediate.rad
187 B
assign.use.intermediate.ril
99 B
average.rad
185 B
average.ril
403 B
binop.arith.rad
479 B
binop.arith.ril
389 B
binop.bitwise.rad
300 B
binop.bitwise.ril
237 B
binop.logical.rad
216 B
binop.logical.ril
373 B
binop.shift.rad
197 B
binop.shift.ril
149 B
binop.unsigned.rad
317 B
binop.unsigned.ril
236 B
builtin.alignof.rad
692 B
builtin.alignof.ril
287 B
builtin.sizeof.rad
650 B
builtin.sizeof.ril
282 B
byte.load.store.rad
372 B
byte.load.store.ril
772 B
call.tests.rad
759 B
call.tests.ril
603 B
cast.basic.rad
848 B
cast.basic.ril
594 B
cast.narrow.rad
583 B
cast.narrow.ril
557 B
cast.same.size.rad
947 B
cast.same.size.ril
481 B
cmp.rel.rad
733 B
cmp.rel.ril
467 B
cmp.unsigned.rad
733 B
cmp.unsigned.ril
467 B
coercion.implicit.rad
917 B
coercion.implicit.ril
1.0 KiB
compound.assign.rad
132 B
compound.assign.ril
78 B
cond.assign.merge.basic.rad
213 B
cond.assign.merge.basic.ril
172 B
cond.assign.merge.rad
206 B
cond.assign.merge.ril
169 B
cond.elseif.rad
204 B
cond.elseif.ril
181 B
cond.expr.rad
130 B
cond.expr.ril
195 B
cond.ifelse.rad
104 B
cond.ifelse.ril
117 B
cond.iflet.case.rad
170 B
cond.iflet.case.ril
114 B
cond.iflet.guard.rad
182 B
cond.iflet.guard.ril
165 B
cond.iflet.mut.rad
191 B
cond.iflet.mut.ril
217 B
cond.iflet.noelse.rad
156 B
cond.iflet.noelse.ril
225 B
cond.iflet.optional.rad
184 B
cond.iflet.optional.ril
118 B
cond.iflet.optional.value.rad
194 B
cond.iflet.optional.value.ril
206 B
cond.letelse.case.rad
146 B
cond.letelse.case.ril
118 B
cond.letelse.guard.rad
160 B
cond.letelse.guard.ril
169 B
cond.letelse.mut.rad
181 B
cond.letelse.mut.ril
221 B
cond.letelse.optional.rad
160 B
cond.letelse.optional.ril
122 B
cond.nested.rad
138 B
cond.nested.ril
185 B
cond.simple.rad
86 B
cond.simple.ril
118 B
const.array.ident.rad
238 B
const.array.ident.ril
146 B
const.array.rad
143 B
const.array.record.ident.rad
378 B
const.array.record.ident.ril
353 B
const.array.repeat.record.rad
216 B
const.array.repeat.record.ril
399 B
const.array.ril
369 B
const.array.strings.slice.rad
271 B
const.array.strings.slice.ril
539 B
const.negative.rad
322 B
const.negative.ril
338 B
const.record.ctor.rad
154 B
const.record.ctor.ril
327 B
const.record.mutcopy.rad
450 B
const.record.mutcopy.ril
385 B
const.record.nested.rad
393 B
const.record.nested.ril
474 B
const.record.packed.rad
266 B
const.record.packed.ril
284 B
const.record.padded.rad
266 B
const.record.padded.ril
318 B
const.record.rad
177 B
const.record.ril
201 B
const.record.union.rad
593 B
const.record.union.ril
625 B
const.scalar.rad
102 B
const.scalar.ril
82 B
const.slice.of.slices.rad
232 B
const.slice.of.slices.ril
876 B
const.string.rad
111 B
const.string.ril
285 B
const.string.scoped.names.rad
254 B
const.string.scoped.names.ril
840 B
const.union.payload.ctor.rad
299 B
const.union.payload.ctor.ril
389 B
const.union.record.literal.rad
306 B
const.union.record.literal.ril
385 B
error.catch.return.rad
403 B
error.catch.return.ril
634 B
externfn.rad
39 B
externfn.ril
37 B
fibonacci.rad
122 B
fibonacci.ril
247 B
field.aggregate.rad
793 B
field.aggregate.ril
782 B
fn.ptr.assign.rad
277 B
fn.ptr.assign.ril
143 B
fn.ptr.call.rad
258 B
fn.ptr.call.ril
183 B
fn.ptr.param.rad
356 B
fn.ptr.param.ril
282 B
intrinsic.ebreak.rad
97 B
intrinsic.ebreak.ril
76 B
intrinsic.ecall.rad
175 B
intrinsic.ecall.ril
131 B
let.copy.semantics.rad
871 B
let.copy.semantics.ril
879 B
let.placeholder.rad
291 B
let.placeholder.ril
220 B
literal.char.rad
209 B
literal.char.ril
127 B
literal.slice.bytes.rad
124 B
literal.slice.bytes.ril
245 B
literal.slice.dedup.rad
199 B
literal.slice.dedup.ril
407 B
literal.slice.empty.rad
100 B
literal.slice.empty.ril
157 B
literal.slice.multi.rad
170 B
literal.slice.multi.ril
460 B
literal.slice.rad
123 B
literal.slice.record.rad
211 B
literal.slice.record.ril
676 B
literal.slice.ril
254 B
literal.string.dedup.rad
179 B
literal.string.dedup.ril
395 B
literal.string.empty.rad
93 B
literal.string.empty.ril
230 B
literal.string.fns.rad
180 B
literal.string.fns.ril
434 B
literal.string.multi.rad
153 B
literal.string.multi.ril
444 B
literal.string.rad
108 B
literal.string.ril
229 B
local.multi.rad
85 B
local.multi.ril
67 B
local.mut.rad
75 B
local.mut.ril
45 B
local.simple.rad
60 B
local.simple.ril
45 B
loop.break.rad
152 B
loop.break.ril
228 B
loop.continue.rad
211 B
loop.continue.ril
327 B
loop.for.array.rad
219 B
loop.for.array.ril
340 B
loop.for.break.bound.rad
161 B
loop.for.break.bound.ril
289 B
loop.for.continue.rad
395 B
loop.for.continue.ril
741 B
loop.for.indexed.rad
145 B
loop.for.indexed.ril
310 B
loop.for.placeholder.rad
313 B
loop.for.placeholder.ril
507 B
loop.for.rad
116 B
loop.for.ril
245 B
loop.for.slice.rad
212 B
loop.for.slice.ril
387 B
loop.for.unsigned.range.rad
309 B
loop.for.unsigned.range.ril
531 B
loop.infinite.rad
41 B
loop.infinite.ril
78 B
loop.mutable.rad
371 B
loop.mutable.ril
642 B
loop.nested.break.rad
380 B
loop.nested.break.ril
461 B
loop.nested.continue.rad
406 B
loop.nested.continue.ril
581 B
loop.return.rad
137 B
loop.return.ril
179 B
loop.while.false.noparams.rad
175 B
loop.while.false.noparams.ril
171 B
loop.while.nested.shortcircuit.rad
860 B
loop.while.nested.shortcircuit.ril
589 B
loop.while.rad
156 B
loop.while.ril
241 B
loop.whilelet.case.rad
251 B
loop.whilelet.case.ril
204 B
loop.whilelet.guard.rad
257 B
loop.whilelet.guard.ril
256 B
loop.whilelet.optional.rad
208 B
loop.whilelet.optional.ril
217 B
loop.whilelet.union.rad
368 B
loop.whilelet.union.ril
382 B
match.more.rad
643 B
match.more.ril
683 B
match.multi.seal.rad
365 B
match.multi.seal.ril
228 B
match.nested.iflet.rad
328 B
match.nested.iflet.ril
334 B
match.nested.pattern.rad
362 B
match.nested.pattern.ril
352 B
match.nested.record.rad
378 B
match.nested.record.ril
260 B
match.nested.union.rad
397 B
match.nested.union.ril
589 B
match.optional.aggregate.rad
222 B
match.optional.aggregate.ril
578 B
match.optional.rad
183 B
match.optional.ril
164 B
match.record.pattern.rad
325 B
match.record.pattern.ril
287 B
match.simple.rad
367 B
match.simple.ril
347 B
match.switch.rad
217 B
match.switch.ril
187 B
mixedtypes.rad
79 B
mixedtypes.ril
82 B
multi.throw.basic.rad
272 B
multi.throw.basic.ril
526 B
multi.throw.catch.typed.rad
436 B
multi.throw.catch.typed.ril
1015 B
multi.throw.propagate.rad
335 B
multi.throw.propagate.ril
873 B
multiplefns.rad
110 B
multiplefns.ril
146 B
mutref.loop.rad
281 B
mutref.loop.ril
368 B
mutref.scalar.rad
228 B
mutref.scalar.ril
324 B
nil.cmp.rad
622 B
nil.cmp.ril
423 B
noparams.rad
38 B
noparams.ril
43 B
opt.ptr.return.nil.rad
85 B
opt.ptr.return.nil.ril
51 B
opt.record.eq.rad
307 B
opt.record.eq.rev.rad
307 B
opt.record.eq.rev.ril
635 B
opt.record.eq.ril
635 B
opt.return.nil.rad
82 B
opt.return.nil.ril
114 B
opt.return.value.rad
91 B
opt.return.value.ril
138 B
opt.slice.npo.rad
288 B
opt.slice.npo.ril
331 B
optional.aggregate.eq.rad
286 B
optional.aggregate.eq.ril
695 B
optional.eq.rad
131 B
optional.eq.ril
253 B
optional.ptr.eq.rad
313 B
optional.ptr.eq.ril
309 B
panic.basic.rad
70 B
panic.basic.ril
46 B
pointerfn.rad
50 B
pointerfn.ril
54 B
ptr.addressof.field.rad
132 B
ptr.addressof.field.ril
78 B
ptr.addressof.local.rad
455 B
ptr.addressof.local.ril
280 B
ptr.addressof.rad
119 B
ptr.addressof.ril
213 B
ptr.assign.rad
98 B
ptr.assign.ril
82 B
ptr.deref.rad
95 B
ptr.deref.record.rad
282 B
ptr.deref.record.ril
190 B
ptr.deref.ril
71 B
ptr.subscript.assign.rad
129 B
ptr.subscript.assign.ril
288 B
record.assign.blit.rad
111 B
record.assign.blit.ril
158 B
record.ctor.tuple.rad
69 B
record.ctor.tuple.ril
127 B
record.empty.eq.rad
272 B
record.empty.eq.ril
226 B
record.eq.rad
223 B
record.eq.ril
214 B
record.field.assign.rad
97 B
record.field.assign.ril
123 B
record.literal.labeled.rad
103 B
record.literal.labeled.ril
127 B
record.mixed.layout.rad
116 B
record.mixed.layout.ril
149 B
record.nested.eq.rad
246 B
record.nested.eq.ril
522 B
record.nested.lit.rad
170 B
record.nested.lit.ril
188 B
record.ptr.access.rad
78 B
record.ptr.access.ril
69 B
reserve.loop.rad
247 B
reserve.loop.ril
402 B
return.lit.rad
45 B
return.lit.ril
50 B
return.param.rad
48 B
return.param.ril
54 B
simplefn.rad
45 B
simplefn.ril
51 B
slice.append.rad
249 B
slice.append.ril
883 B
slice.basic.rad
742 B
slice.basic.ril
711 B
slice.delete.rad
118 B
slice.delete.ril
673 B
slice.eq.rad
126 B
slice.eq.ril
209 B
slice.index.rad
104 B
slice.index.ril
278 B
slice.mutable.rad
281 B
slice.mutable.ril
1.7 KiB
slice.range.rad
606 B
slice.range.ril
1.2 KiB
slice.runtime.i32.rad
237 B
slice.runtime.i32.ril
725 B
slice.runtime.literal.rad
240 B
slice.runtime.literal.ril
455 B
static.assign.rad
127 B
static.assign.ril
244 B
static.local.decl.rad
191 B
static.local.decl.ril
280 B
static.scalar.rad
109 B
static.scalar.ril
135 B
trait.dispatch.rad
323 B
trait.dispatch.ril
469 B
trait.object.rad
356 B
trait.object.ril
496 B
trait.supertrait.rad
314 B
trait.supertrait.ril
318 B
trivial.phi.rad
1.1 KiB
trivial.phi.ril
512 B
try.basic.rad
391 B
try.basic.ril
879 B
try.catch.rad
339 B
try.catch.ril
837 B
try.optional.rad
363 B
try.optional.ril
760 B
try.panic.rad
351 B
try.panic.ril
639 B
undefined.aggregate.rad
152 B
undefined.aggregate.ril
84 B
undefined.primitive.rad
115 B
undefined.primitive.ril
48 B
undefined.record.field.rad
1.6 KiB
undefined.record.field.ril
751 B
union.ctor.rad
537 B
union.ctor.ril
385 B
union.eq.rad
783 B
union.eq.ril
1.4 KiB
union.eq.void.ctor.rad
378 B
union.eq.void.ctor.ril
131 B
union.eq.void.rad
178 B
union.eq.void.ril
75 B
union.match.bind.rad
259 B
union.match.bind.ril
238 B
union.match.ref.rad
1.1 KiB
union.match.ref.ril
1.2 KiB
union.match.tag.rad
858 B
union.match.tag.ril
820 B
union.payload.record.eq.rad
292 B
union.payload.record.eq.ril
984 B
union.record.literal.rad
444 B
union.record.literal.ril
391 B
union.variant.access.rad
723 B
union.variant.access.ril
506 B
unop.rad
478 B
unop.ril
376 B
var.shadow.rad
236 B
var.shadow.ril
145 B
void.throw.rad
281 B
void.throw.ril
707 B
voidfn.rad
18 B
voidfn.ril
43 B
module/
parser/
resolver/
scanner/
alloc.rad
4.2 KiB
ast.rad
22.6 KiB
gen.rad
265 B
il.rad
15.1 KiB
lower.rad
258.3 KiB
module.rad
14.1 KiB
package.rad
1.4 KiB
parser.rad
78.7 KiB
resolver.rad
227.9 KiB
scanner.rad
23.4 KiB
sexpr.rad
7.0 KiB
strings.rad
2.2 KiB
sys/
arch.rad
65 B
collections.rad
36 B
fmt.rad
3.8 KiB
intrinsics.rad
206 B
io.rad
1.2 KiB
lang.rad
222 B
mem.rad
2.2 KiB
sys.rad
167 B
testing.rad
2.4 KiB
tests.rad
11.6 KiB
vec.rad
3.1 KiB
std.rad
231 B
scripts/
seed/
test/
vim/
.gitignore
353 B
.gitsigners
112 B
LICENSE
1.1 KiB
Makefile
3.1 KiB
README
2.5 KiB
std.lib
987 B
std.lib.test
252 B
lib/std/lang/lower/tests/try.panic.ril
raw
| 1 | fn w64 $fallible(w64 %0, w8 %1) { |
| 2 | @entry0 |
| 3 | br.ne w32 %1 0 @then1 @merge2; |
| 4 | @then1 |
| 5 | reserve %2 1 1; |
| 6 | store w8 0 %2 0; |
| 7 | reserve %3 12 8; |
| 8 | store w64 1 %3 0; |
| 9 | store w8 %2 %3 8; |
| 10 | blit %0 %3 12; |
| 11 | ret %0; |
| 12 | @merge2 |
| 13 | reserve %4 12 8; |
| 14 | store w64 0 %4 0; |
| 15 | store w32 1 %4 8; |
| 16 | blit %0 %4 12; |
| 17 | ret %0; |
| 18 | } |
| 19 | |
| 20 | fn w32 $caller(w8 %0) { |
| 21 | @entry0 |
| 22 | reserve %1 12 8; |
| 23 | call w64 %2 $fallible(%1, %0); |
| 24 | load w64 %3 %2 0; |
| 25 | reserve %4 4 4; |
| 26 | br.ne w32 %3 0 @err2 @ok1; |
| 27 | @ok1 |
| 28 | sload w32 %5 %2 8; |
| 29 | store w32 %5 %4 0; |
| 30 | jmp @merge3; |
| 31 | @err2 |
| 32 | unreachable; |
| 33 | @merge3 |
| 34 | sload w32 %6 %4 0; |
| 35 | ret %6; |
| 36 | } |