summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopUnroll/PowerPC
diff options
context:
space:
mode:
authorDavid L Kreitzer <david.l.kreitzer@intel.com>2016-04-05 12:19:35 +0000
committerDavid L Kreitzer <david.l.kreitzer@intel.com>2016-04-05 12:19:35 +0000
commit188de5ae69402c84ac40b2d5aed587b8454c75a8 (patch)
tree10b82140b6ba036e96c8d7e292b443c0d2d4ab31 /llvm/test/Transforms/LoopUnroll/PowerPC
parent849045f2aaa5302f931b4fea3448d7af76e6b4f0 (diff)
downloadbcm5719-llvm-188de5ae69402c84ac40b2d5aed587b8454c75a8.tar.gz
bcm5719-llvm-188de5ae69402c84ac40b2d5aed587b8454c75a8.zip
Adds the ability to use an epilog remainder loop during loop unrolling and makes
this the default behavior. Patch by Evgeny Stupachenko (evstupac@gmail.com). Differential Revision: http://reviews.llvm.org/D18158 llvm-svn: 265388
Diffstat (limited to 'llvm/test/Transforms/LoopUnroll/PowerPC')
-rw-r--r--llvm/test/Transforms/LoopUnroll/PowerPC/a2-unrolling.ll32
1 files changed, 22 insertions, 10 deletions
diff --git a/llvm/test/Transforms/LoopUnroll/PowerPC/a2-unrolling.ll b/llvm/test/Transforms/LoopUnroll/PowerPC/a2-unrolling.ll
index e9aa1acd5fe..bf2b9cf40dd 100644
--- a/llvm/test/Transforms/LoopUnroll/PowerPC/a2-unrolling.ll
+++ b/llvm/test/Transforms/LoopUnroll/PowerPC/a2-unrolling.ll
@@ -1,4 +1,5 @@
-; RUN: opt < %s -S -mtriple=powerpc64-unknown-linux-gnu -mcpu=a2 -loop-unroll | FileCheck %s
+; RUN: opt < %s -S -mtriple=powerpc64-unknown-linux-gnu -mcpu=a2 -loop-unroll | FileCheck %s -check-prefix=EPILOG
+; RUN: opt < %s -S -mtriple=powerpc64-unknown-linux-gnu -mcpu=a2 -loop-unroll -unroll-runtime-epilog=false | FileCheck %s -check-prefix=PROLOG
define void @unroll_opt_for_size() nounwind optsize {
entry:
br label %loop
@@ -13,11 +14,17 @@ exit:
ret void
}
-; CHECK-LABEL: @unroll_opt_for_size
-; CHECK: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK: icmp
+; EPILOG-LABEL: @unroll_opt_for_size
+; EPILOG: add
+; EPILOG-NEXT: add
+; EPILOG-NEXT: add
+; EPILOG: icmp
+
+; PROLOG-LABEL: @unroll_opt_for_size
+; PROLOG: add
+; PROLOG-NEXT: add
+; PROLOG-NEXT: add
+; PROLOG: icmp
define i32 @test(i32* nocapture %a, i32 %n) nounwind uwtable readonly {
entry:
@@ -40,8 +47,13 @@ for.end: ; preds = %for.body, %entry
ret i32 %sum.0.lcssa
}
-; CHECK-LABEL: @test
-; CHECK: for.body.prol{{.*}}:
-; CHECK: for.body:
-; CHECK: br i1 %exitcond.7, label %for.end.loopexit{{.*}}, label %for.body
+; EPILOG-LABEL: @test
+; EPILOG: for.body:
+; EPILOG: br i1 %niter.ncmp.7, label %for.end.loopexit{{.*}}, label %for.body
+; EPILOG: for.body.epil{{.*}}:
+
+; PROLOG-LABEL: @test
+; PROLOG: for.body.prol{{.*}}:
+; PROLOG: for.body:
+; PROLOG: br i1 %exitcond.7, label %for.end.loopexit{{.*}}, label %for.body
OpenPOWER on IntegriCloud