brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.6 KiB · d434035 Raw
186 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=slp-vectorizer,dce -S -mtriple=x86_64-apple-macosx10.8.0 -mcpu=corei7 | FileCheck %s3 4target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"5target triple = "x86_64-apple-macosx10.8.0"6 7%struct._exon_t.12.103.220.363.480.649.740.857.1039.1065.1078.1091.1117.1130.1156.1169.1195.1221.1234.1286.1299.1312.1338.1429.1455.1468.1494.1520.1884.1897.1975.2066.2105.2170.2171 = type { i32, i32, i32, i32, i32, i32, [8 x i8] }8 9define void @SIM4(i1 %arg) {10; CHECK-LABEL: @SIM4(11; CHECK-NEXT:  entry:12; CHECK-NEXT:    br i1 %arg, label [[RETURN:%.*]], label [[LOR_LHS_FALSE:%.*]]13; CHECK:       lor.lhs.false:14; CHECK-NEXT:    br i1 %arg, label [[RETURN]], label [[IF_END:%.*]]15; CHECK:       if.end:16; CHECK-NEXT:    br i1 %arg, label [[FOR_END605:%.*]], label [[FOR_BODY_LR_PH:%.*]]17; CHECK:       for.body.lr.ph:18; CHECK-NEXT:    br label [[FOR_BODY:%.*]]19; CHECK:       for.body:20; CHECK-NEXT:    br i1 %arg, label [[FOR_INC603:%.*]], label [[IF_END12:%.*]]21; CHECK:       if.end12:22; CHECK-NEXT:    br i1 %arg, label [[LAND_LHS_TRUE:%.*]], label [[LAND_LHS_TRUE167:%.*]]23; CHECK:       land.lhs.true:24; CHECK-NEXT:    br i1 %arg, label [[IF_THEN17:%.*]], label [[LAND_LHS_TRUE167]]25; CHECK:       if.then17:26; CHECK-NEXT:    br i1 %arg, label [[IF_END98:%.*]], label [[LAND_RHS_LR_PH:%.*]]27; CHECK:       land.rhs.lr.ph:28; CHECK-NEXT:    unreachable29; CHECK:       if.end98:30; CHECK-NEXT:    br i1 %arg, label [[LAND_LHS_TRUE167]], label [[IF_THEN103:%.*]]31; CHECK:       if.then103:32; CHECK-NEXT:    [[DOTSUB100:%.*]] = select i1 undef, i32 250, i32 undef33; CHECK-NEXT:    [[MUL114:%.*]] = shl nsw i32 [[DOTSUB100]], 234; CHECK-NEXT:    [[COND125:%.*]] = select i1 undef, i32 undef, i32 [[MUL114]]35; CHECK-NEXT:    [[TMP0:%.*]] = insertelement <2 x i32> poison, i32 [[COND125]], i32 036; CHECK-NEXT:    [[TMP1:%.*]] = insertelement <2 x i32> [[TMP0]], i32 [[DOTSUB100]], i32 137; CHECK-NEXT:    br label [[FOR_COND_I:%.*]]38; CHECK:       for.cond.i:39; CHECK-NEXT:    [[TMP2:%.*]] = phi <2 x i32> [ undef, [[LAND_RHS_I874:%.*]] ], [ [[TMP1]], [[IF_THEN103]] ]40; CHECK-NEXT:    br i1 %arg, label [[LAND_RHS_I874]], label [[FOR_END_I:%.*]]41; CHECK:       land.rhs.i874:42; CHECK-NEXT:    br i1 %arg, label [[FOR_COND_I]], label [[FOR_END_I]]43; CHECK:       for.end.i:44; CHECK-NEXT:    br i1 %arg, label [[IF_THEN_I:%.*]], label [[IF_END_I:%.*]]45; CHECK:       if.then.i:46; CHECK-NEXT:    [[TMP3:%.*]] = add nsw <2 x i32> [[TMP2]], undef47; CHECK-NEXT:    br label [[EXTEND_BW_EXIT:%.*]]48; CHECK:       if.end.i:49; CHECK-NEXT:    [[ADD16_I:%.*]] = add i32 [[COND125]], [[DOTSUB100]]50; CHECK-NEXT:    [[CMP26514_I:%.*]] = icmp slt i32 [[ADD16_I]], 051; CHECK-NEXT:    br i1 [[CMP26514_I]], label [[FOR_END33_I:%.*]], label [[FOR_BODY28_LR_PH_I:%.*]]52; CHECK:       for.body28.lr.ph.i:53; CHECK-NEXT:    br label [[FOR_END33_I]]54; CHECK:       for.end33.i:55; CHECK-NEXT:    br i1 %arg, label [[FOR_END58_I:%.*]], label [[FOR_BODY52_LR_PH_I:%.*]]56; CHECK:       for.body52.lr.ph.i:57; CHECK-NEXT:    br label [[FOR_END58_I]]58; CHECK:       for.end58.i:59; CHECK-NEXT:    br label [[WHILE_COND260_I:%.*]]60; CHECK:       while.cond260.i:61; CHECK-NEXT:    br i1 %arg, label [[LAND_RHS263_I:%.*]], label [[WHILE_END275_I:%.*]]62; CHECK:       land.rhs263.i:63; CHECK-NEXT:    br i1 %arg, label [[WHILE_COND260_I]], label [[WHILE_END275_I]]64; CHECK:       while.end275.i:65; CHECK-NEXT:    br label [[EXTEND_BW_EXIT]]66; CHECK:       extend_bw.exit:67; CHECK-NEXT:    [[TMP4:%.*]] = phi <2 x i32> [ [[TMP3]], [[IF_THEN_I]] ], [ undef, [[WHILE_END275_I]] ]68; CHECK-NEXT:    br i1 false, label [[IF_THEN157:%.*]], label [[LAND_LHS_TRUE167]]69; CHECK:       if.then157:70; CHECK-NEXT:    [[TMP5:%.*]] = add nsw <2 x i32> [[TMP4]], splat (i32 1)71; CHECK-NEXT:    store <2 x i32> [[TMP5]], ptr undef, align 472; CHECK-NEXT:    br label [[LAND_LHS_TRUE167]]73; CHECK:       land.lhs.true167:74; CHECK-NEXT:    unreachable75; CHECK:       for.inc603:76; CHECK-NEXT:    br i1 %arg, label [[FOR_BODY]], label [[FOR_END605]]77; CHECK:       for.end605:78; CHECK-NEXT:    unreachable79; CHECK:       return:80; CHECK-NEXT:    ret void81;82entry:83  br i1 %arg, label %return, label %lor.lhs.false84 85lor.lhs.false:                                    ; preds = %entry86  br i1 %arg, label %return, label %if.end87 88if.end:                                           ; preds = %lor.lhs.false89  br i1 %arg, label %for.end605, label %for.body.lr.ph90 91for.body.lr.ph:                                   ; preds = %if.end92  br label %for.body93 94for.body:                                         ; preds = %for.inc603, %for.body.lr.ph95  br i1 %arg, label %for.inc603, label %if.end1296 97if.end12:                                         ; preds = %for.body98  br i1 %arg, label %land.lhs.true, label %land.lhs.true16799 100land.lhs.true:                                    ; preds = %if.end12101  br i1 %arg, label %if.then17, label %land.lhs.true167102 103if.then17:                                        ; preds = %land.lhs.true104  br i1 %arg, label %if.end98, label %land.rhs.lr.ph105 106land.rhs.lr.ph:                                   ; preds = %if.then17107  unreachable108 109if.end98:                                         ; preds = %if.then17110  %from299 = getelementptr inbounds %struct._exon_t.12.103.220.363.480.649.740.857.1039.1065.1078.1091.1117.1130.1156.1169.1195.1221.1234.1286.1299.1312.1338.1429.1455.1468.1494.1520.1884.1897.1975.2066.2105.2170.2171, ptr undef, i64 0, i32 1111  br i1 %arg, label %land.lhs.true167, label %if.then103112 113if.then103:                                       ; preds = %if.end98114  %.sub100 = select i1 undef, i32 250, i32 undef115  %mul114 = shl nsw i32 %.sub100, 2116  %cond125 = select i1 undef, i32 undef, i32 %mul114117  br label %for.cond.i118 119for.cond.i:                                       ; preds = %land.rhs.i874, %if.then103120  %row.0.i = phi i32 [ undef, %land.rhs.i874 ], [ %.sub100, %if.then103 ]121  %col.0.i = phi i32 [ undef, %land.rhs.i874 ], [ %cond125, %if.then103 ]122  br i1 %arg, label %land.rhs.i874, label %for.end.i123 124land.rhs.i874:                                    ; preds = %for.cond.i125  br i1 %arg, label %for.cond.i, label %for.end.i126 127for.end.i:                                        ; preds = %land.rhs.i874, %for.cond.i128  br i1 %arg, label %if.then.i, label %if.end.i129 130if.then.i:                                        ; preds = %for.end.i131  %add14.i = add nsw i32 %row.0.i, undef132  %add15.i = add nsw i32 %col.0.i, undef133  br label %extend_bw.exit134 135if.end.i:                                         ; preds = %for.end.i136  %add16.i = add i32 %cond125, %.sub100137  %cmp26514.i = icmp slt i32 %add16.i, 0138  br i1 %cmp26514.i, label %for.end33.i, label %for.body28.lr.ph.i139 140for.body28.lr.ph.i:                               ; preds = %if.end.i141  br label %for.end33.i142 143for.end33.i:                                      ; preds = %for.body28.lr.ph.i, %if.end.i144  br i1 %arg, label %for.end58.i, label %for.body52.lr.ph.i145 146for.body52.lr.ph.i:                               ; preds = %for.end33.i147  br label %for.end58.i148 149for.end58.i:                                      ; preds = %for.body52.lr.ph.i, %for.end33.i150  br label %while.cond260.i151 152while.cond260.i:                                  ; preds = %land.rhs263.i, %for.end58.i153  br i1 %arg, label %land.rhs263.i, label %while.end275.i154 155land.rhs263.i:                                    ; preds = %while.cond260.i156  br i1 %arg, label %while.cond260.i, label %while.end275.i157 158while.end275.i:                                   ; preds = %land.rhs263.i, %while.cond260.i159  br label %extend_bw.exit160 161extend_bw.exit:                                   ; preds = %while.end275.i, %if.then.i162  %add14.i1262 = phi i32 [ %add14.i, %if.then.i ], [ undef, %while.end275.i ]163  %add15.i1261 = phi i32 [ %add15.i, %if.then.i ], [ undef, %while.end275.i ]164  br i1 false, label %if.then157, label %land.lhs.true167165 166if.then157:                                       ; preds = %extend_bw.exit167  %add158 = add nsw i32 %add14.i1262, 1168  store i32 %add158, ptr %from299, align 4169  %add160 = add nsw i32 %add15.i1261, 1170  store i32 %add160, ptr undef, align 4171  br label %land.lhs.true167172 173land.lhs.true167:                                 ; preds = %if.then157, %extend_bw.exit, %if.end98, %land.lhs.true, %if.end12174  unreachable175 176for.inc603:                                       ; preds = %for.body177  br i1 %arg, label %for.body, label %for.end605178 179for.end605:                                       ; preds = %for.inc603, %if.end180  unreachable181 182return:                                           ; preds = %lor.lhs.false, %entry183  ret void184}185 186