doc: add more sample ir and graph files
This commit is contained in:
68
doc/sample/ir/Simple.5.mie
Normal file
68
doc/sample/ir/Simple.5.mie
Normal file
@@ -0,0 +1,68 @@
|
||||
meta.source-filename "Simple.im"
|
||||
|
||||
ivy.package-scope "net.doorstuck.test"
|
||||
|
||||
ivy.package-ref "std.io"
|
||||
|
||||
ivy.module {
|
||||
%cout = ivy.pool.ident @cout -> #ivy.pool-slot
|
||||
%StringBuilder = ivy.pool.ident @std.lang.StringBuilder -> #ivy.pool-slot
|
||||
|
||||
%.str.0 = ivy.pool.string "Answer: " -> #ivy.pool-slot
|
||||
|
||||
%.sel.o-append = ivy.pool.selector append -> #ivy.pool-slot
|
||||
%.sel.o-to-string = ivy.pool.selector to-string -> #ivy.pool-slot
|
||||
%.sel.o-put = ivy.pool.selector put -> #ivy.pool-slot
|
||||
|
||||
%.i.0 = i32.constant 0
|
||||
%.i.1 = i32.constant 1
|
||||
%.i.4 = i32.constant 4
|
||||
%.i.32 = i32.constant 32
|
||||
%.i.64 = i32.constant 64
|
||||
|
||||
ivy.init-text {
|
||||
$X0 = *ivy.LDR %.i.32 -> i32
|
||||
$X1 = *ivy.LDR %.i.64 -> i32
|
||||
$X2 = *ivy.MUL $X0, $X1 : (i32, i32) -> i32
|
||||
|
||||
*ivy.PUSH $X2 : i32
|
||||
%.bp.0 = ivy.bp-slot 0 -> #ivy.bp-slot
|
||||
|
||||
$X4 = *ivy.LDR %.i.64 -> i32
|
||||
$X5 = *ivy.LDR %.i.4 -> i32
|
||||
$X6 = *ivy.DIV $X4, $X5 : (i32, i32) -> i32
|
||||
|
||||
*ivy.PUSH $X6 : i32
|
||||
%.bp.1 = ivy.bp-slot 1 -> #ivy.bp-slot
|
||||
|
||||
$X8 = *ivy.LDR %.bp.0 : #ivy.bp-slot -> i32
|
||||
$X9 = *ivy.LDR %.bp.1 : #ivy.bp-slot -> i32
|
||||
$X10 = *ivy.ADD $X8, $X9 : (i32, i32) -> i32
|
||||
|
||||
*ivy.PUSH $X10 : i32
|
||||
%.bp.2 = ivy.bp-slot 2 -> #ivy.bp-slot
|
||||
|
||||
%10 = *ivy.LDR %StringBuilder : #ivy.pool-slot -> #ivy.id
|
||||
|
||||
%20 = *ivy.LDR %.sel.o-append : #ivy.pool-slot -> #ivy.id
|
||||
%21 = *ivy.LDR %.str.0 : #ivy.pool-slot -> #ivy.id
|
||||
*ivy.PUSH %21 : #ivy.id
|
||||
*ivy.MSG %10, %20, %.i.1 : (#ivy.id, #ivy.id, i32) -> void
|
||||
|
||||
%7 = *ivy.LDR %.bp.2 : ptr -> i32
|
||||
*ivy.PUSH %7 : i32
|
||||
*ivy.MSG %10, %20, %.i.1 : (#ivy.id, #ivy.id, i32) -> void
|
||||
|
||||
%23 = *ivy.LDR %.sel.o-to-string : #ivy.pool-slot -> #ivy.id
|
||||
%8 = *ivy.MSG %10, %23, %.i.0 : (#ivy.id, #ivy.id, i32) -> #ivy.id
|
||||
|
||||
%9 = *ivy.LDR %cout : #ivy.pool-slot -> #ivy.id
|
||||
%24 = *ivy.LDR %.sel.o-put : #ivy.pool-slot -> #ivy.id
|
||||
|
||||
*ivy.PUSH %8 : #ivy.id
|
||||
|
||||
*ivy.MSG %9, %24, %.i.1 : (#ivy.id, #ivy.id, i32) -> void
|
||||
|
||||
*ivy.RET-N : ()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user