Files
llgo/cl/_testpy/math/out.ll
2024-05-12 23:08:44 +08:00

35 lines
1.2 KiB
LLVM

; ModuleID = 'command-line-arguments'
source_filename = "command-line-arguments"
@__llgo_py.math.sqrt = external global ptr
@"command-line-arguments.init$guard" = global ptr null
@__llgo_py.math = linkonce global ptr null
@0 = private unnamed_addr constant [5 x i8] c"math\00", align 1
@1 = private unnamed_addr constant [5 x i8] c"sqrt\00", align 1
define void @command-line-arguments.init() {
_llgo_0:
%0 = load i1, ptr @"command-line-arguments.init$guard", align 1
br i1 %0, label %_llgo_2, label %_llgo_1
_llgo_1: ; preds = %_llgo_0
store i1 true, ptr @"command-line-arguments.init$guard", align 1
%1 = load ptr, ptr @__llgo_py.math, align 8
call void (ptr, ...) @llgoLoadPyModSyms(ptr %1, ptr @1, ptr @__llgo_py.math.sqrt, ptr null)
%2 = load ptr, ptr @__llgo_py.math, align 8
%3 = icmp ne ptr %2, null
br i1 %3, label %_llgo_2, label %_llgo_3
_llgo_2: ; preds = %_llgo_3, %_llgo_1, %_llgo_0
ret void
_llgo_3: ; preds = %_llgo_1
%4 = call ptr @PyImport_ImportModule(ptr @0)
store ptr %4, ptr @__llgo_py.math, align 8
br label %_llgo_2
}
declare ptr @PyImport_ImportModule(ptr)
declare void @llgoLoadPyModSyms(ptr, ...)