summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopUnroll/PowerPC
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2016-05-10 21:45:55 +0000
committerHans Wennborg <hans@hanshq.net>2016-05-10 21:45:55 +0000
commit719b26ba54bbbed99249863a6800d61778962429 (patch)
tree7440071a6e0c617b9ddb2272b814789bdedce435 /llvm/test/Transforms/LoopUnroll/PowerPC
parent12de4aeeb304cb497557a2c1a544382de26031e6 (diff)
downloadbcm5719-llvm-719b26ba54bbbed99249863a6800d61778962429.tar.gz
bcm5719-llvm-719b26ba54bbbed99249863a6800d61778962429.zip
Loop unroller: set thresholds for optsize and minsize functions to zero
Before r268509, Clang would disable the loop unroll pass when optimizing for size. That commit enabled it to be able to support unroll pragmas in -Os builds. However, this regressed binary size in one of Chromium's DLLs with ~100 KB. This restores the original behaviour of no unrolling at -Os, but doing it in LLVM instead of Clang makes more sense, and also allows the pragmas to keep working. Differential revision: http://reviews.llvm.org/D20115 llvm-svn: 269124
Diffstat (limited to 'llvm/test/Transforms/LoopUnroll/PowerPC')
-rw-r--r--llvm/test/Transforms/LoopUnroll/PowerPC/a2-unrolling.ll25
-rw-r--r--llvm/test/Transforms/LoopUnroll/PowerPC/p7-unrolling.ll49
2 files changed, 0 insertions, 74 deletions
diff --git a/llvm/test/Transforms/LoopUnroll/PowerPC/a2-unrolling.ll b/llvm/test/Transforms/LoopUnroll/PowerPC/a2-unrolling.ll
index bf2b9cf40dd..77e92bd7506 100644
--- a/llvm/test/Transforms/LoopUnroll/PowerPC/a2-unrolling.ll
+++ b/llvm/test/Transforms/LoopUnroll/PowerPC/a2-unrolling.ll
@@ -1,30 +1,5 @@
; 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
-
-loop:
- %iv = phi i32 [ 0, %entry ], [ %inc, %loop ]
- %inc = add i32 %iv, 1
- %exitcnd = icmp uge i32 %inc, 1024
- br i1 %exitcnd, label %exit, label %loop
-
-exit:
- ret void
-}
-
-; 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:
diff --git a/llvm/test/Transforms/LoopUnroll/PowerPC/p7-unrolling.ll b/llvm/test/Transforms/LoopUnroll/PowerPC/p7-unrolling.ll
index 7a50fc0a4f4..c9677d83e37 100644
--- a/llvm/test/Transforms/LoopUnroll/PowerPC/p7-unrolling.ll
+++ b/llvm/test/Transforms/LoopUnroll/PowerPC/p7-unrolling.ll
@@ -1,53 +1,4 @@
; RUN: opt < %s -S -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -loop-unroll | FileCheck %s
-define void @unroll_opt_for_size() nounwind optsize {
-entry:
- br label %loop
-
-loop:
- %iv = phi i32 [ 0, %entry ], [ %inc, %loop ]
- %inc = add i32 %iv, 1
- %exitcnd = icmp uge i32 %inc, 1024
- br i1 %exitcnd, label %exit, label %loop
-
-exit:
- ret void
-}
-
-; CHECK-LABEL: @unroll_opt_for_size
-; CHECK: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: add
-; CHECK-NEXT: icmp
-
define void @unroll_default() nounwind {
entry:
br label %loop
OpenPOWER on IntegriCloud