36 lines · plain
1; RUN: %lli -jit-kind=mcjit -disable-lazy-compilation=false %s2 3define i32 @main() nounwind {4entry:5 call void @lazily_compiled_address_is_consistent()6 ret i32 07}8 9; Test PR3043: @test should have the same address before and after10; it's JIT-compiled.11@funcPtr = common global ptr null, align 412@lcaic_failure = internal constant [46 x i8] c"@lazily_compiled_address_is_consistent failed\00"13 14define void @lazily_compiled_address_is_consistent() nounwind {15entry:16 store ptr @test, ptr @funcPtr17 %pass = tail call i1 @test() ; <i32> [#uses=1]18 br i1 %pass, label %pass_block, label %fail_block19pass_block:20 ret void21fail_block:22 call i32 @puts(ptr @lcaic_failure)23 call void @exit(i32 1)24 unreachable25}26 27define i1 @test() nounwind {28entry:29 %tmp = load ptr, ptr @funcPtr30 %eq = icmp eq ptr %tmp, @test31 ret i1 %eq32}33 34declare i32 @puts(ptr) noreturn35declare void @exit(i32) noreturn36