diff options
author | Dan Gohman <gohman@apple.com> | 2010-04-23 15:29:50 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-04-23 15:29:50 +0000 |
commit | e8c92dd439581bec7e3516cbdbea74e2e60fe7f0 (patch) | |
tree | 01314e686d15d650cd33c1f405dbc0d50a9b57dd /lib/CodeGen | |
parent | 27ef9976c2e7a93f0cd088cb098e4860bba29159 (diff) |
Move FastISel's HandlePHINodesInSuccessorBlocks call down into FastISel
itself too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102176 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/SelectionDAG/FastISel.cpp | 6 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 14 |
2 files changed, 6 insertions, 14 deletions
diff --git a/lib/CodeGen/SelectionDAG/FastISel.cpp b/lib/CodeGen/SelectionDAG/FastISel.cpp index 132c42ef0d..c40eaf6292 100644 --- a/lib/CodeGen/SelectionDAG/FastISel.cpp +++ b/lib/CodeGen/SelectionDAG/FastISel.cpp @@ -553,6 +553,12 @@ bool FastISel::SelectBitCast(const User *I) { bool FastISel::SelectInstruction(const Instruction *I) { + // Just before the terminator instruction, insert instructions to + // feed PHI nodes in successor blocks. + if (isa<TerminatorInst>(I)) + if (!HandlePHINodesInSuccessorBlocks(I->getParent())) + return false; + DL = I->getDebugLoc(); // First, try doing target-independent selection. diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 875672e4e1..2cdd1cc978 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -751,20 +751,6 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) { FastIS->startNewBlock(BB); // Do FastISel on as many instructions as possible. for (; BI != End; ++BI) { - // Just before the terminator instruction, insert instructions to - // feed PHI nodes in successor blocks. - if (isa<TerminatorInst>(BI)) - if (!FastIS->HandlePHINodesInSuccessorBlocks(LLVMBB)) { - ++NumFastIselFailures; - if (EnableFastISelVerbose || EnableFastISelAbort) { - dbgs() << "FastISel miss: "; - BI->dump(); - } - assert(!EnableFastISelAbort && - "FastISel didn't handle a PHI in a successor"); - break; - } - // Try to select the instruction with FastISel. if (FastIS->SelectInstruction(BI)) continue; |