diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/ARM/ifcvt4.ll | 10 | ||||
-rw-r--r-- | test/CodeGen/ARM/indirectbr.ll | 1 | ||||
-rw-r--r-- | test/CodeGen/Thumb2/2010-06-21-TailMergeBug.ll | 18 | ||||
-rw-r--r-- | test/CodeGen/Thumb2/thumb2-ifcvt1.ll | 8 |
4 files changed, 19 insertions, 18 deletions
diff --git a/test/CodeGen/ARM/ifcvt4.ll b/test/CodeGen/ARM/ifcvt4.ll index f28c61b..d099f51 100644 --- a/test/CodeGen/ARM/ifcvt4.ll +++ b/test/CodeGen/ARM/ifcvt4.ll @@ -1,8 +1,10 @@ -; RUN: llc < %s -march=arm -; RUN: llc < %s -march=arm | grep subgt | count 1 -; RUN: llc < %s -march=arm | grep suble | count 1 -; FIXME: Check for # of unconditional branch after adding branch folding post ifcvt. +; RUN: llc < %s -march=arm | FileCheck %s +; Do not if-convert when branches go to the different loops. +; CHECK: _t: +; CHECK-NOT: subgt +; CHECK-NOT: suble +; Don't use define i32 @t(i32 %a, i32 %b) { entry: %tmp1434 = icmp eq i32 %a, %b ; <i1> [#uses=1] diff --git a/test/CodeGen/ARM/indirectbr.ll b/test/CodeGen/ARM/indirectbr.ll index 25a0f93..341c33f 100644 --- a/test/CodeGen/ARM/indirectbr.ll +++ b/test/CodeGen/ARM/indirectbr.ll @@ -22,7 +22,6 @@ bb2: ; preds = %entry, %bb3 %gotovar.4.0 = phi i8* [ %gotovar.4.0.pre, %bb3 ], [ %0, %entry ] ; <i8*> [#uses=1] ; ARM: bx ; THUMB: mov pc, -; THUMB2: mov pc, indirectbr i8* %gotovar.4.0, [label %L5, label %L4, label %L3, label %L2, label %L1] bb3: ; preds = %entry diff --git a/test/CodeGen/Thumb2/2010-06-21-TailMergeBug.ll b/test/CodeGen/Thumb2/2010-06-21-TailMergeBug.ll index f91e1c9..244d0bb 100644 --- a/test/CodeGen/Thumb2/2010-06-21-TailMergeBug.ll +++ b/test/CodeGen/Thumb2/2010-06-21-TailMergeBug.ll @@ -32,15 +32,15 @@ define fastcc i32 @parse_percent_token() nounwind { entry: -; CHECK: ittt eq -; CHECK: ittt eq -; CHECK: ittt eq -; CHECK: ittt eq -; CHECK: ittt eq -; CHECK: moveq r0 -; CHECK-NOT: LBB0_ -; CHECK: ldreq -; CHECK: popeq +; CHECK: pop +; CHECK: pop +; CHECK: pop +; CHECK: pop +; CHECK: pop +; CHECK: pop +; CHECK: pop +; Do not convert into single stream code. BranchProbability Analysis assumes +; that branches which goes to "ret" intruction have lower probabilities. switch i32 undef, label %bb7 [ i32 37, label %bb43 i32 48, label %bb5 diff --git a/test/CodeGen/Thumb2/thumb2-ifcvt1.ll b/test/CodeGen/Thumb2/thumb2-ifcvt1.ll index a4035bb..af8fcc6 100644 --- a/test/CodeGen/Thumb2/thumb2-ifcvt1.ll +++ b/test/CodeGen/Thumb2/thumb2-ifcvt1.ll @@ -21,13 +21,13 @@ cond_next: ret i32 %tmp15 } -; FIXME: Check for # of unconditional branch after adding branch folding post ifcvt. define i32 @t2(i32 %a, i32 %b) nounwind { entry: +; Do not if-convert when branches go to the different loops. ; CHECK: t2: -; CHECK: ite gt -; CHECK: subgt -; CHECK: suble +; CHECK-NOT: ite gt +; CHECK-NOT: subgt +; CHECK-NOT: suble %tmp1434 = icmp eq i32 %a, %b ; <i1> [#uses=1] br i1 %tmp1434, label %bb17, label %bb.outer |