[PATCH] D36134: [ARM] Improve loop unrolling for Cortex-M

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 2 00:26:54 PDT 2017


samparker added inline comments.


================
Comment at: lib/Target/ARM/ARMTargetTransformInfo.cpp:596
+               isa<BranchInst>(I))
+      continue;
+    ++NumInsts;
----------------
efriedma wrote:
> getUserCost()?
This has crossed my mind, I'll look into it.


================
Comment at: lib/Target/ARM/ARMTargetTransformInfo.cpp:623
+    if (isa<SCEVCouldNotCompute>(Count) || !Count->getType()->isIntegerTy())
+      UP.DefaultUnrollRuntimeCount = 4;
+  }
----------------
efriedma wrote:
> Have you experimented with setting "UP.Runtime = false"?
Yes, but there's a lot of performance to be gained by enabling runtime. This patch is trying to get some of that improvement, while minimising the negative affect it can have.


https://reviews.llvm.org/D36134





More information about the llvm-commits mailing list