diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Transforms/InstCombine/InstructionCombining.cpp | 5 | 
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp index 7c46cfd28fc..903a0b5f540 100644 --- a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp +++ b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp @@ -3021,7 +3021,7 @@ static bool prepareICWorklistFromFunction(Function &F, const DataLayout &DL,        Instruction *Inst = &*--EndInst->getIterator();        if (!Inst->use_empty() && !Inst->getType()->isTokenTy())          Inst->replaceAllUsesWith(UndefValue::get(Inst->getType())); -      if (Inst->isEHPad()) { +      if (Inst->isEHPad() || Inst->getType()->isTokenTy()) {          EndInst = Inst;          continue;        } @@ -3029,8 +3029,7 @@ static bool prepareICWorklistFromFunction(Function &F, const DataLayout &DL,          ++NumDeadInst;          MadeIRChange = true;        } -      if (!Inst->getType()->isTokenTy()) -        Inst->eraseFromParent(); +      Inst->eraseFromParent();      }    }  | 

