[llvm-commits] [llvm] r64790 - in /llvm/branches/release_25: lib/CodeGen/MachineSink.cpp test/CodeGen/X86/pr3522.ll

Tanya Lattner tonic at nondot.org
Tue Feb 17 11:33:52 PST 2009


Author: tbrethou
Date: Tue Feb 17 13:33:52 2009
New Revision: 64790

URL: http://llvm.org/viewvc/llvm-project?rev=64790&view=rev
Log:
Merge 64582 from mainline
Fix PR3522. It's not safe to sink into landing pad BB's.

Added:
    llvm/branches/release_25/test/CodeGen/X86/pr3522.ll
      - copied unchanged from r64582, llvm/trunk/test/CodeGen/X86/pr3522.ll
Modified:
    llvm/branches/release_25/lib/CodeGen/MachineSink.cpp

Modified: llvm/branches/release_25/lib/CodeGen/MachineSink.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_25/lib/CodeGen/MachineSink.cpp?rev=64790&r1=64789&r2=64790&view=diff

==============================================================================
--- llvm/branches/release_25/lib/CodeGen/MachineSink.cpp (original)
+++ llvm/branches/release_25/lib/CodeGen/MachineSink.cpp Tue Feb 17 13:33:52 2009
@@ -208,6 +208,11 @@
   // If there are no outputs, it must have side-effects.
   if (SuccToSinkTo == 0)
     return false;
+
+  // It's not safe to sink instructions to EH landing pad. Control flow into
+  // landing pad is implicitly defined.
+  if (SuccToSinkTo->isLandingPad())
+    return false;
   
   DEBUG(cerr << "Sink instr " << *MI);
   DEBUG(cerr << "to block " << *SuccToSinkTo);





More information about the llvm-commits mailing list