doc: add more sample ir and graph files

This commit is contained in:
2026-01-11 14:50:28 +00:00
parent 6b5fd95ac4
commit fc61b188e3
18 changed files with 1953 additions and 46 deletions

38
doc/sample/graph/1.mie Normal file
View File

@@ -0,0 +1,38 @@
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
}

33
doc/sample/graph/2.mie Normal file
View File

@@ -0,0 +1,33 @@
select.graph {
%entry = +select.entry -> #select.chain
%N1 = ptr.alloca i32 -> ptr
%N2 = i32.constant 3 -> i32
%N3.c = +ptr.store %entry, %N2, %N1 : (#select.chain, i32, ptr) -> #select.chain
%N4 = ptr.alloca i32 -> ptr
%N5 = i32.constant 0 -> i32
%N6.c = +ptr.store %entry, %N5, %N4 : (#select.chain, i32, ptr) -> #select.chain
%N7, %N7.c = +ptr.load %N6.c, %N1 : (#select.chain, ptr) -> (#ivy.id, #select.chain)
%N8 = i32.constant 10 -> i32
%N9 = arith.cmp gt %N7, %N8 : (#ivy.id, i32) -> i1
%N10.c = +select.chain-group %N7.c, %N6.c : (#select.chain, #select.chain) -> #select.chain
%N11 = +select.block-ref @if.true -> #select.block
%N12.c = +cf.br-cond %N10.c, %N9, %N11 : (#select.chain, i1, #select.block) -> #select.chain
%N13 = +select.block-ref @if.false -> #select.block
%N14.c = cf.br %N12.c, %N13
%N15 = +select.root %N14.c
}