X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FCodeGen%2FThumb2%2F2009-09-28-ITBlockBug.ll;h=8fdff02f9c1b289470822a529576ffe6095fb9b4;hb=7aa5b69c4a7ec1b2c06f60fd0b47a34122b8cf09;hp=6b2c071d23036c5018b9ddfe18a5387b7b467de8;hpb=480c529e026942f28e1a792d2cec6d6b5bc0edba;p=oota-llvm.git diff --git a/test/CodeGen/Thumb2/2009-09-28-ITBlockBug.ll b/test/CodeGen/Thumb2/2009-09-28-ITBlockBug.ll index 6b2c071d230..8fdff02f9c1 100644 --- a/test/CodeGen/Thumb2/2009-09-28-ITBlockBug.ll +++ b/test/CodeGen/Thumb2/2009-09-28-ITBlockBug.ll @@ -1,15 +1,13 @@ -; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mcpu=cortex-a8 -break-anti-dependencies=none | FileCheck %s +; RUN: llc < %s -mtriple=thumbv7-apple-darwin -mcpu=cortex-a8 -disable-cgp-branch-opts -arm-atomic-cfg-tidy=0 | FileCheck %s %struct.pix_pos = type { i32, i32, i32, i32, i32, i32 } @getNeighbour = external global void (i32, i32, i32, i32, %struct.pix_pos*)*, align 4 ; [#uses=2] -define arm_apcscc void @t() nounwind { -; CHECK: t: -; CHECK: ittt eq -; CHECK-NEXT: addeq -; CHECK-NEXT: movweq -; CHECK-NEXT: movteq +define void @t() nounwind { +; CHECK-LABEL: t: +; CHECK: it eq +; CHECK-NEXT: cmpeq entry: %pix_a.i294 = alloca [4 x %struct.pix_pos], align 4 ; <[4 x %struct.pix_pos]*> [#uses=2] br i1 undef, label %land.rhs, label %lor.end @@ -27,8 +25,8 @@ if.then366: ; preds = %lor.end, %lor.end unreachable if.end371: ; preds = %lor.end - %arrayidx56.2.i = getelementptr [4 x %struct.pix_pos]* %pix_a.i294, i32 0, i32 2 ; <%struct.pix_pos*> [#uses=1] - %arrayidx56.3.i = getelementptr [4 x %struct.pix_pos]* %pix_a.i294, i32 0, i32 3 ; <%struct.pix_pos*> [#uses=1] + %arrayidx56.2.i = getelementptr [4 x %struct.pix_pos], [4 x %struct.pix_pos]* %pix_a.i294, i32 0, i32 2 ; <%struct.pix_pos*> [#uses=1] + %arrayidx56.3.i = getelementptr [4 x %struct.pix_pos], [4 x %struct.pix_pos]* %pix_a.i294, i32 0, i32 3 ; <%struct.pix_pos*> [#uses=1] br i1 undef, label %for.body1857, label %for.end4557 for.body1857: ; preds = %if.end371 @@ -46,15 +44,15 @@ for.body1940: ; preds = %for.cond1933 br i1 undef, label %if.then1992, label %if.else2003 if.then1992: ; preds = %for.body1940 - %tmp14.i302 = load i32* undef ; [#uses=4] + %tmp14.i302 = load i32, i32* undef ; [#uses=4] %add.i307452 = or i32 %shl1959, 1 ; [#uses=1] %sub.i308 = add i32 %shl, -1 ; [#uses=4] - call arm_apcscc void undef(i32 %tmp14.i302, i32 %sub.i308, i32 %shl1959, i32 0, %struct.pix_pos* undef) nounwind - %tmp49.i309 = load void (i32, i32, i32, i32, %struct.pix_pos*)** @getNeighbour ; [#uses=1] - call arm_apcscc void %tmp49.i309(i32 %tmp14.i302, i32 %sub.i308, i32 %add.i307452, i32 0, %struct.pix_pos* null) nounwind - %tmp49.1.i = load void (i32, i32, i32, i32, %struct.pix_pos*)** @getNeighbour ; [#uses=1] - call arm_apcscc void %tmp49.1.i(i32 %tmp14.i302, i32 %sub.i308, i32 undef, i32 0, %struct.pix_pos* %arrayidx56.2.i) nounwind - call arm_apcscc void undef(i32 %tmp14.i302, i32 %sub.i308, i32 undef, i32 0, %struct.pix_pos* %arrayidx56.3.i) nounwind + call void undef(i32 %tmp14.i302, i32 %sub.i308, i32 %shl1959, i32 0, %struct.pix_pos* undef) nounwind + %tmp49.i309 = load void (i32, i32, i32, i32, %struct.pix_pos*)*, void (i32, i32, i32, i32, %struct.pix_pos*)** @getNeighbour ; [#uses=1] + call void %tmp49.i309(i32 %tmp14.i302, i32 %sub.i308, i32 %add.i307452, i32 0, %struct.pix_pos* null) nounwind + %tmp49.1.i = load void (i32, i32, i32, i32, %struct.pix_pos*)*, void (i32, i32, i32, i32, %struct.pix_pos*)** @getNeighbour ; [#uses=1] + call void %tmp49.1.i(i32 %tmp14.i302, i32 %sub.i308, i32 undef, i32 0, %struct.pix_pos* %arrayidx56.2.i) nounwind + call void undef(i32 %tmp14.i302, i32 %sub.i308, i32 undef, i32 0, %struct.pix_pos* %arrayidx56.3.i) nounwind unreachable if.else2003: ; preds = %for.body1940 @@ -103,12 +101,12 @@ for.inc3040: ; preds = %for.inc3040, %for.c if.then3689: ; preds = %for.cond2882.preheader %add3695 = add nsw i32 %mul3693, %shl1959 ; [#uses=1] %mul3697 = shl i32 %add3695, 2 ; [#uses=2] - %arrayidx3705 = getelementptr inbounds i16* undef, i32 1 ; [#uses=1] - %tmp3706 = load i16* %arrayidx3705 ; [#uses=1] + %arrayidx3705 = getelementptr inbounds i16, i16* undef, i32 1 ; [#uses=1] + %tmp3706 = load i16, i16* %arrayidx3705 ; [#uses=1] %conv3707 = sext i16 %tmp3706 to i32 ; [#uses=1] %add3708 = add nsw i32 %conv3707, %mul3697 ; [#uses=1] - %arrayidx3724 = getelementptr inbounds i16* null, i32 1 ; [#uses=1] - %tmp3725 = load i16* %arrayidx3724 ; [#uses=1] + %arrayidx3724 = getelementptr inbounds i16, i16* null, i32 1 ; [#uses=1] + %tmp3725 = load i16, i16* %arrayidx3724 ; [#uses=1] %conv3726 = sext i16 %tmp3725 to i32 ; [#uses=1] %add3727 = add nsw i32 %conv3726, %mul3697 ; [#uses=1] br label %if.end3770 @@ -117,11 +115,11 @@ if.else3728: ; preds = %for.cond2882.prehea %mul3733 = add i32 %shl1959, 1073741816 ; [#uses=1] %add3735 = add nsw i32 %mul3733, %mul3693 ; [#uses=1] %mul3737 = shl i32 %add3735, 2 ; [#uses=2] - %tmp3746 = load i16* undef ; [#uses=1] + %tmp3746 = load i16, i16* undef ; [#uses=1] %conv3747 = sext i16 %tmp3746 to i32 ; [#uses=1] %add3748 = add nsw i32 %conv3747, %mul3737 ; [#uses=1] - %arrayidx3765 = getelementptr inbounds i16* null, i32 1 ; [#uses=1] - %tmp3766 = load i16* %arrayidx3765 ; [#uses=1] + %arrayidx3765 = getelementptr inbounds i16, i16* null, i32 1 ; [#uses=1] + %tmp3766 = load i16, i16* %arrayidx3765 ; [#uses=1] %conv3767 = sext i16 %tmp3766 to i32 ; [#uses=1] %add3768 = add nsw i32 %conv3767, %mul3737 ; [#uses=1] br label %if.end3770