158 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 42; RUN: opt -passes=newgvn -disable-output < %s3 4define void @test(i1 %arg, i1 %arg1) {5bb:6 %alloca = alloca i64, i32 0, align 87 %alloca2 = alloca i64, i32 0, align 88 %load = load i64, ptr null, align 89 %icmp = icmp ult i64 0, %load10 br i1 %icmp, label %bb24, label %bb2511 12bb24: ; preds = %bb13 unreachable14 15bb25: ; preds = %bb16 store i64 %load, ptr %alloca, align 817 %load26 = load i64, ptr addrspace(1) null, align 818 %icmp27 = icmp ugt i64 %load26, 119 br i1 %icmp27, label %bb28, label %bb2920 21bb28: ; preds = %bb2522 unreachable23 24bb29: ; preds = %bb2525 %icmp30 = icmp ugt i64 %load26, 026 br i1 %icmp30, label %bb34, label %bb3127 28bb31: ; preds = %bb38, %bb2929 %load32 = load i64, ptr addrspace(1) null, align 830 %icmp33 = icmp ugt i64 %load32, 131 br i1 %icmp33, label %bb42, label %bb4332 33bb34: ; preds = %bb2934 %load35 = load i64, ptr addrspace(1) null, align 835 store i64 %load35, ptr null, align 836 %load36 = load i64, ptr null, align 837 br label %bb3738 39bb37: ; preds = %bb37, %bb3440 %phi = phi i64 [ 0, %bb37 ], [ %load36, %bb34 ]41 %inttoptr = inttoptr i64 %phi to ptr addrspace(1)42 br i1 false, label %bb37, label %bb3843 44bb38: ; preds = %bb3745 %load39 = load i64, ptr null, align 846 %inttoptr40 = inttoptr i64 %load39 to ptr addrspace(1)47 %load41 = load i64, ptr addrspace(1) %inttoptr40, align 848 %shl = shl i64 %load26, 049 %and = and i64 %shl, 050 br label %bb3151 52bb42: ; preds = %bb3153 unreachable54 55bb43: ; preds = %bb3156 %load44 = load i64, ptr null, align 857 %load45 = load i64, ptr null, align 858 %icmp46 = icmp ugt i64 1, %load4559 br i1 %icmp46, label %bb51, label %bb6060 61bb47: ; preds = %bb60, %bb55, %bb5162 %load48 = load i64, ptr %alloca, align 863 %inttoptr49 = inttoptr i64 %load48 to ptr addrspace(1)64 %load50 = load i64, ptr addrspace(1) %inttoptr49, align 865 br i1 %arg, label %bb63, label %bb7566 67bb51: ; preds = %bb4368 %load52 = load i64, ptr addrspace(1) null, align 869 store i64 %load52, ptr %alloca2, align 870 %load53 = load i64, ptr null, align 871 store i64 %load53, ptr null, align 872 %icmp54 = icmp ult i64 0, %load3273 br i1 %icmp54, label %bb55, label %bb4774 75bb55: ; preds = %bb5176 %load56 = load i64, ptr null, align 877 %or = or i64 %load56, 078 %inttoptr57 = inttoptr i64 %or to ptr addrspace(1)79 %load58 = load i64, ptr addrspace(1) %inttoptr57, align 880 %and59 = and i64 %load32, 081 br label %bb4782 83bb60: ; preds = %bb4384 %or61 = or i64 %load44, 085 %load62 = load i64, ptr addrspace(1) null, align 886 store i64 %load62, ptr null, align 887 br label %bb4788 89bb63: ; preds = %bb4790 %load64 = load i64, ptr addrspace(1) inttoptr (i64 64 to ptr addrspace(1)), align 891 %inttoptr65 = inttoptr i64 %load64 to ptr addrspace(1)92 store i64 0, ptr addrspace(1) %inttoptr65, align 893 %or66 = or i64 %load64, 494 %inttoptr67 = inttoptr i64 %or66 to ptr addrspace(1)95 store i64 0, ptr addrspace(1) %inttoptr67, align 896 %or68 = or i64 %load64, 3697 %inttoptr69 = inttoptr i64 %or68 to ptr addrspace(1)98 store i64 0, ptr addrspace(1) %inttoptr69, align 899 %or70 = or i64 %load64, 68100 %inttoptr71 = inttoptr i64 %or70 to ptr addrspace(1)101 store i64 0, ptr addrspace(1) %inttoptr71, align 8102 %load72 = load i64, ptr null, align 8103 %shl73 = shl i64 %load72, 0104 %or74 = or i64 %shl73, 0105 store i64 %or74, ptr null, align 8106 unreachable107 108bb75: ; preds = %bb47109 br i1 %arg1, label %bb88, label %bb76110 111bb76: ; preds = %bb75112 %load77 = load i64, ptr addrspace(1) inttoptr (i64 64 to ptr addrspace(1)), align 8113 %inttoptr78 = inttoptr i64 %load77 to ptr addrspace(1)114 store i64 0, ptr addrspace(1) %inttoptr78, align 8115 %or79 = or i64 %load77, 4116 %inttoptr80 = inttoptr i64 %or79 to ptr addrspace(1)117 store i64 0, ptr addrspace(1) %inttoptr80, align 8118 %or81 = or i64 %load77, 36119 %inttoptr82 = inttoptr i64 %or81 to ptr addrspace(1)120 store i64 0, ptr addrspace(1) %inttoptr82, align 8121 %or83 = or i64 %load77, 68122 %inttoptr84 = inttoptr i64 %or83 to ptr addrspace(1)123 store i64 0, ptr addrspace(1) %inttoptr84, align 8124 %load85 = load i64, ptr null, align 8125 %shl86 = shl i64 %load85, 0126 %or87 = or i64 %shl86, 0127 store i64 %or87, ptr null, align 8128 unreachable129 130bb88: ; preds = %bb75131 %load89 = load i64, ptr addrspace(1) null, align 8132 %icmp90 = icmp ugt i64 %load89, 0133 br i1 %icmp90, label %bb91, label %bb92134 135bb91: ; preds = %bb88136 unreachable137 138bb92: ; preds = %bb88139 br i1 false, label %bb93, label %bb95140 141bb93: ; preds = %bb93, %bb92142 %phi94 = phi i64 [ 0, %bb93 ], [ %load89, %bb92 ]143 br label %bb93144 145bb95: ; preds = %bb92146 %load96 = load i64, ptr null, align 8147 br label %bb98148 149bb97: ; preds = %bb98150 ret void151 152bb98: ; preds = %bb98, %bb95153 %phi99 = phi i64 [ %load96, %bb95 ], [ 0, %bb98 ]154 %inttoptr100 = inttoptr i64 %phi99 to ptr155 %load101 = load i64, ptr %inttoptr100, align 8156 br i1 false, label %bb98, label %bb97157}158