38 lines · plain
1; RUN: %lli -jit-kind=mcjit -remote-mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s2; XFAIL: *3; This function should fail until remote symbol resolution is supported.4 5define i32 @main() nounwind {6entry:7 call void @lazily_compiled_address_is_consistent()8 ret i32 09}10 11; Test PR3043: @test should have the same address before and after12; it's JIT-compiled.13@funcPtr = common global ptr null, align 414@lcaic_failure = internal constant [46 x i8] c"@lazily_compiled_address_is_consistent failed\00"15 16define void @lazily_compiled_address_is_consistent() nounwind {17entry:18 store ptr @test, ptr @funcPtr19 %pass = tail call i1 @test() ; <i32> [#uses=1]20 br i1 %pass, label %pass_block, label %fail_block21pass_block:22 ret void23fail_block:24 call i32 @puts(ptr @lcaic_failure)25 call void @exit(i32 1)26 unreachable27}28 29define i1 @test() nounwind {30entry:31 %tmp = load ptr, ptr @funcPtr32 %eq = icmp eq ptr %tmp, @test33 ret i1 %eq34}35 36declare i32 @puts(ptr) noreturn37declare void @exit(i32) noreturn38