53 lines · plain
1; RUN: opt -S -passes=ipsccp < %s | FileCheck %s2target datalayout = "E-m:e-i64:64-n32:64"3target triple = "powerpc64le-unknown-linux"4 5define void @test(i32 signext %n, i1 %arg) {6 7; CHECK-LABEL: @test8 9entry:10 br i1 %arg, label %if.then, label %if.end11 12if.then: ; preds = %entry13 ret void14 15if.end: ; preds = %entry16 br i1 %arg, label %if.then2, label %if.end417 18if.then2: ; preds = %if.end19 unreachable20 21if.end4: ; preds = %if.end22 %sub.n = select i1 undef, i32 undef, i32 %n23 switch i32 %sub.n, label %if.else14 [24 i32 0, label %if.then925 i32 1, label %if.then1226 ]27 28if.then9: ; preds = %if.end429 unreachable30 31if.then12: ; preds = %if.end432 unreachable33 34if.else14: ; preds = %if.end435 br label %do.body36 37do.body: ; preds = %do.body, %if.else1438 %scale.0 = phi ppc_fp128 [ 0xM3FF00000000000000000000000000000, %if.else14 ], [ %scale.0, %do.body ]39 br i1 %arg, label %do.body, label %if.then3340 41if.then33: ; preds = %do.body42 br i1 %arg, label %_ZN5boost4math4signIgEEiRKT_.exit30, label %cond.false.i2843 44cond.false.i28: ; preds = %if.then3345 %0 = bitcast ppc_fp128 %scale.0 to i12846 %tobool.i26 = icmp slt i128 %0, 047 br label %_ZN5boost4math4signIgEEiRKT_.exit3048 49_ZN5boost4math4signIgEEiRKT_.exit30: ; preds = %cond.false.i28, %if.then3350 unreachable51}52 53