27. def add(x, y):
return x + y
Function
add
Arguments
x y
body
Return
x y
+
AST
Python
func
LLVM IR
define i32
@add(i32 %.1, i32 %.2) {
.4:
%res = add i32 %.1, %.2
ret i32 %res
}
30. こんな感じで実装
@llvm_func(int, int)
def sample(x, y):
a = x
b = y
a = 100
b = 100
return a + b
def main():
ret = compiler.exe(sample, 111, 111)
print("result: " + str(ret))
型がわかるように
アノテーション付けた
関数名を渡して
実行する