34 lines · plain
1; RUN: opt -passes=bdce -S < %s | FileCheck %s2 3declare i32 @strlen(ptr) readonly nounwind willreturn4 5define void @test1() {6 call i32 @strlen( ptr null )7 ret void8 9; CHECK-LABEL: @test110; CHECK-NOT: call11; CHECK: ret void12}13 14define i32 @test2() personality ptr @__gxx_personality_v0 {15 ; invoke of pure function should not be deleted!16 invoke i32 @strlen( ptr null ) readnone17 to label %Cont unwind label %Other18 19Cont: ; preds = %020 ret i32 021 22Other: ; preds = %023 %exn = landingpad {ptr, i32}24 cleanup25 ret i32 126 27; CHECK-LABEL: @test228; CHECK: invoke29; CHECK: ret i32 130}31 32declare i32 @__gxx_personality_v0(...)33 34