summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorAdam Nemet <anemet@apple.com>2015-08-07 22:44:15 +0000
committerAdam Nemet <anemet@apple.com>2015-08-07 22:44:15 +0000
commit15840393f316b8a216fb62ee750f5696d7b0052f (patch)
tree8dd75a18fd8d9c222f10f6bceb8186791a361087 /llvm/lib/Transforms
parent8ebdc8cedce5408582cc1714d81ed5d139463dad (diff)
downloadbcm5719-llvm-15840393f316b8a216fb62ee750f5696d7b0052f.tar.gz
bcm5719-llvm-15840393f316b8a216fb62ee750f5696d7b0052f.zip
[LAA] Make the set of runtime checks part of the state of LAA, NFC
This is the full set of checks that clients can further filter. IOW, it's client-agnostic. This makes LAA complete in the sense that it now provides the two main results of its analysis precomputed: 1. memory dependences via getDepChecker().getInsterestingDependences() 2. run-time checks via getRuntimePointerCheck().getChecks() However, as a consequence we now compute this information pro-actively. Thus if the client decides to skip the loop based on the dependences we've computed the checks unnecessarily. In order to see whether this was a significant overhead I checked compile time on SPEC2k6 LTO bitcode files. The change was in the noise. The checks are generated in canCheckPtrAtRT, at the same place where we used to call groupChecks to merge checks. llvm-svn: 244368
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/LoopDistribute.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopDistribute.cpp b/llvm/lib/Transforms/Scalar/LoopDistribute.cpp
index b2a3e28c3f0..ffcfd8bad90 100644
--- a/llvm/lib/Transforms/Scalar/LoopDistribute.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopDistribute.cpp
@@ -787,7 +787,7 @@ private:
// the loop now.
auto PtrToPartition = Partitions.computePartitionSetForPointers(LAI);
const auto *RtPtrChecking = LAI.getRuntimePointerChecking();
- auto AllChecks = RtPtrChecking->generateChecks();
+ const auto &AllChecks = RtPtrChecking->getChecks();
auto Checks = includeOnlyCrossPartitionChecks(AllChecks, PtrToPartition,
RtPtrChecking);
if (!Checks.empty()) {
OpenPOWER on IntegriCloud