brintos

brintos / llvm-project-archived public Read only

0
0
Text · 852 B · e0deced Raw
34 lines · plain
1; RUN: opt -passes=jump-threading -S < %s | FileCheck %s2 3target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"4target triple = "x86_64-apple-macosx10.11.0"5 6declare void @helper()7declare i32 @__gxx_personality_v0(...)8 9 10define void @pr27840(ptr %call, i1 %A) personality ptr @__gxx_personality_v0 {11entry:12  invoke void @helper()13          to label %invoke.cont unwind label %lpad14 15; Don't jump threading; we can't split the critical edge from entry to lpad.16; CHECK-LABEL: @pr2784017; CHECK: invoke18; CHECK-NEXT: to label %invoke.cont unwind label %lpad19 20invoke.cont:21  invoke void @helper()22          to label %nowhere unwind label %lpad23 24lpad:25  %b = phi i1 [ true, %invoke.cont ], [ false, %entry ]26  landingpad { ptr, i32 }27          cleanup28  %xor = xor i1 %b, %A29  br i1 %xor, label %nowhere, label %invoke.cont30 31nowhere:32  unreachable33}34