summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorFlorian Hahn <florian.hahn@arm.com>2018-04-03 20:54:04 +0000
committerFlorian Hahn <florian.hahn@arm.com>2018-04-03 20:54:04 +0000
commit9467ccf447fd6611cdb1c77c1353a16f27682c5a (patch)
tree21dd5bc8865906bdb62e2ad6f19000334f58cb26 /llvm/lib/Transforms
parent9114eb40b57bd271eec4a3f935d3072859433eb2 (diff)
downloadbcm5719-llvm-9467ccf447fd6611cdb1c77c1353a16f27682c5a.tar.gz
bcm5719-llvm-9467ccf447fd6611cdb1c77c1353a16f27682c5a.zip
[LoopInterchange] Add remark for calls preventing interchanging.
It also updates test/Transforms/LoopInterchange/call-instructions.ll to use accesses where we can prove dependence after D35430. Reviewers: sebpop, karthikthecool, blitz.opensource Reviewed By: sebpop Differential Revision: https://reviews.llvm.org/D45206 llvm-svn: 329111
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/LoopInterchange.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopInterchange.cpp b/llvm/lib/Transforms/Scalar/LoopInterchange.cpp
index 69b10890d24..4d3e4563c1e 100644
--- a/llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopInterchange.cpp
@@ -985,6 +985,13 @@ bool LoopInterchangeLegality::canInterchangeLoops(unsigned InnerLoopId,
continue;
DEBUG(dbgs() << "Loops with call instructions cannot be interchanged "
<< "safely.");
+ ORE->emit([&]() {
+ return OptimizationRemarkMissed(DEBUG_TYPE, "CallInst",
+ CI->getDebugLoc(),
+ CI->getParent())
+ << "Cannot interchange loops due to call instruction.";
+ });
+
return false;
}
OpenPOWER on IntegriCloud