diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp b/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp index f36620c3edf..5f93e2fcb2e 100644 --- a/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp @@ -732,8 +732,11 @@ EmitMachineNode(SDNode *Node, bool IsClone, bool IsCloned,    if (II.usesCustomInsertionHook()) {      // Insert this instruction into the basic block using a target      // specific inserter which may returns a new basic block. -    MBB = TLI->EmitInstrWithCustomInserter(MI, MBB); -    InsertPos = MBB->end(); +    MachineBasicBlock *NewMBB = TLI->EmitInstrWithCustomInserter(MI, MBB); +    if (NewMBB != MBB) { +      MBB = NewMBB; +      InsertPos = NewMBB->end(); +    }      return;    }  | 

