diff options
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 8353c18d60..875672e4e1 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -233,21 +233,9 @@ SelectionDAGISel::SelectBasicBlock(MachineBasicBlock *BB, // Lower all of the non-terminator instructions. If a call is emitted // as a tail call, cease emitting nodes for this block. Terminators // are handled below. - for (BasicBlock::const_iterator I = Begin; - I != End && !SDB->HasTailCall && !isa<TerminatorInst>(I); - ++I) + for (BasicBlock::const_iterator I = Begin; I != End && !SDB->HasTailCall; ++I) SDB->visit(*I); - if (!SDB->HasTailCall) { - // Handle PHI nodes in successor blocks. - if (End == LLVMBB->end()) { - SDB->HandlePHINodesInSuccessorBlocks(LLVMBB); - - // Lower the terminator after the copies are emitted. - SDB->visit(*LLVMBB->getTerminator()); - } - } - // Make sure the root of the DAG is up-to-date. CurDAG->setRoot(SDB->getControlRoot()); |