summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/LoopInfo.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-08-15 18:22:49 +0000
committerBill Wendling <isanbard@gmail.com>2011-08-15 18:22:49 +0000
commit9af5b22b7664a55044a4346be94ecac102f0ee28 (patch)
tree5b4063da9c62ff83d1db737ec292a9ec5492c597 /llvm/lib/Analysis/LoopInfo.cpp
parent88294cdbe09f539aa66644de41ffbfe02f00e906 (diff)
downloadbcm5719-llvm-9af5b22b7664a55044a4346be94ecac102f0ee28.tar.gz
bcm5719-llvm-9af5b22b7664a55044a4346be94ecac102f0ee28.zip
The landingpad instruction isn't loop-invariant.
llvm-svn: 137628
Diffstat (limited to 'llvm/lib/Analysis/LoopInfo.cpp')
-rw-r--r--llvm/lib/Analysis/LoopInfo.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/LoopInfo.cpp b/llvm/lib/Analysis/LoopInfo.cpp
index 9a7c50d7fa4..36fd598d13c 100644
--- a/llvm/lib/Analysis/LoopInfo.cpp
+++ b/llvm/lib/Analysis/LoopInfo.cpp
@@ -99,6 +99,9 @@ bool Loop::makeLoopInvariant(Instruction *I, bool &Changed,
return false;
if (I->mayReadFromMemory())
return false;
+ // The landingpad instruction is immobile.
+ if (isa<LandingPadInst>(I))
+ return false;
// Determine the insertion point, unless one was given.
if (!InsertPt) {
BasicBlock *Preheader = getLoopPreheader();
OpenPOWER on IntegriCloud