Files
mie/doc/sample/graph/1.mie

39 lines
1.0 KiB
Plaintext
Raw Normal View History

select.graph {
%entry = +select.entry -> !select.chain
%0 = +select.register @0 : i32 -> !select.register
%1 = +select.register @1 : i32 -> !select.register
%v.0, %c.0 = +select.register.read %entry, %0 \
: (!select.chain, !select.register) \
-> (i32, !select.chain)
%v.1, %c.1 = +select.register.read %entry, %1 \
: (!select.chain, !select.register) \
-> (i32, !select.chain)
%2 = +select.register @2 : i32
%v.2, %c.2 = +select.register.read %entry, %2 \
: (!select.chain, !select.register) \
-> (!select.register, !select.chain)
%v.3 = arith.build-pair %v.0, %v.1 : (i32, i32) -> i64
%v.4 = arith.truncate %v.2 : i64 -> i32
%v.5 = arith.mul %v.4, %v.3 : (i32, i32) -> i32
%x0 = +select.mach-register @x0 : i32 -> !select.register
%c.3, %g.0 = +select.register.write %entry, %x0, %v.5 \
: (!select.chain, !select.register, i32) \
-> (!select.chain, !select.glue)
%c.4 = *risc-v.RET %c.3, %x0, %g.0 \
: (!select.chain, !select.register, !select.glue) \
-> !select.chain
+select.graph-root %c.4 : !select.chain
}