brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · cb8f4aa Raw
34 lines · plain
1; RUN: opt < %s -passes=rewrite-statepoints-for-gc -S | FileCheck %s2 3declare void @some_call(ptr addrspace(1))4 5declare i32 @dummy_personality_function()6 7define ptr addrspace(1) @test(ptr addrspace(1) %obj, ptr addrspace(1) %obj1)8  gc "statepoint-example"9  personality ptr @dummy_personality_function {10entry:11  invoke void @some_call(ptr addrspace(1) %obj) [ "deopt"() ]12          to label %second_invoke unwind label %exceptional_return13 14second_invoke:                                    ; preds = %entry15  invoke void @some_call(ptr addrspace(1) %obj) [ "deopt"() ]16          to label %normal_return unwind label %exceptional_return17 18normal_return:                                    ; preds = %second_invoke19  ret ptr addrspace(1) %obj20 21; CHECK: exceptional_return1:22; CHECK-NEXT: %lpad2 = landingpad token23 24; CHECK: exceptional_return.split-lp:25; CHECK-NEXT: %lpad.split-lp = landingpad token26 27; CHECK: exceptional_return:28; CHECK-NOT: phi token29 30exceptional_return:                               ; preds = %second_invoke, %entry31  %lpad = landingpad token cleanup32  ret ptr addrspace(1) %obj133}34