[PATCH] D15408: [AArch64/LoopUnrollRuntime] Don't avoid high-cost trip count computation on the AArch64

Junmo Park via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 9 23:26:14 PST 2015


flyingforyou created this revision.
flyingforyou added reviewers: mcrosier, t.p.northover, hfinkel.
flyingforyou added a subscriber: llvm-commits.
Herald added subscribers: rengolin, aemerson.

On AArch64, the benefits of unrolling are more significant than the expense of division to compute the trip count.
so we're more able to tolerate the expense, on average, of a division to compute the trip count.

http://reviews.llvm.org/D15408

Files:
  lib/Target/AArch64/AArch64TargetTransformInfo.cpp

Index: lib/Target/AArch64/AArch64TargetTransformInfo.cpp
===================================================================
--- lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+++ lib/Target/AArch64/AArch64TargetTransformInfo.cpp
@@ -490,6 +490,10 @@
 
   // Disable partial & runtime unrolling on -Os.
   UP.PartialOptSizeThreshold = 0;
+
+  // the benefits of unrolling often outweigh the cost of a division to compute
+  // the trip count.
+  UP.AllowExpensiveTripCount = true;
 }
 
 Value *AArch64TTIImpl::getOrCreateResultFromMemIntrinsic(IntrinsicInst *Inst,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15408.42390.patch
Type: text/x-patch
Size: 568 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151210/19ddf532/attachment.bin>


More information about the llvm-commits mailing list