[llvm] r244391 - [InstCombine] Don't try to sink EH pad instructions
    David Majnemer via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Aug  7 20:51:49 PDT 2015
    
    
  
Author: majnemer
Date: Fri Aug  7 22:51:49 2015
New Revision: 244391
URL: http://llvm.org/viewvc/llvm-project?rev=244391&view=rev
Log:
[InstCombine] Don't try to sink EH pad instructions
Found by inspection, this change should not effect the existing
landingpad behavior.
Modified:
    llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp
Modified: llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp?rev=244391&r1=244390&r2=244391&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp (original)
+++ llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp Fri Aug  7 22:51:49 2015
@@ -2672,7 +2672,7 @@ static bool TryToSinkInstruction(Instruc
   assert(I->hasOneUse() && "Invariants didn't hold!");
 
   // Cannot move control-flow-involving, volatile loads, vaarg, etc.
-  if (isa<PHINode>(I) || isa<LandingPadInst>(I) || I->mayHaveSideEffects() ||
+  if (isa<PHINode>(I) || I->isEHPad() || I->mayHaveSideEffects() ||
       isa<TerminatorInst>(I))
     return false;
 
@@ -2975,7 +2975,7 @@ static bool prepareICWorklistFromFunctio
       Instruction *Inst = --I;
       if (!Inst->use_empty())
         Inst->replaceAllUsesWith(UndefValue::get(Inst->getType()));
-      if (isa<LandingPadInst>(Inst)) {
+      if (Inst->isEHPad()) {
         EndInst = Inst;
         continue;
       }
    
    
More information about the llvm-commits
mailing list