From 06f20ebfcf2b4dbe388f6d506b62fb2aa8af5fe8 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Mon, 15 Aug 2011 18:23:40 +0000 Subject: [PATCH] Don't try to sink the landingpad instruction. It's immobile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137629 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/InstCombine/InstructionCombining.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/Transforms/InstCombine/InstructionCombining.cpp b/lib/Transforms/InstCombine/InstructionCombining.cpp index 41d542af685..32c55a3408d 100644 --- a/lib/Transforms/InstCombine/InstructionCombining.cpp +++ b/lib/Transforms/InstCombine/InstructionCombining.cpp @@ -1417,8 +1417,9 @@ Instruction *InstCombiner::visitExtractValueInst(ExtractValueInst &EV) { static bool TryToSinkInstruction(Instruction *I, BasicBlock *DestBlock) { assert(I->hasOneUse() && "Invariants didn't hold!"); - // Cannot move control-flow-involving, volatile loads, vaarg, etc. - if (isa(I) || I->mayHaveSideEffects() || isa(I)) + // Cannot move control-flow-involving, volatile loads, vaarg, landingpad, etc. + if (isa(I) || isa(I) || I->mayHaveSideEffects() || + isa(I)) return false; // Do not sink alloca instructions out of the entry block.