diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-06-30 20:45:06 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-06-30 20:45:06 +0000 |
commit | db8d56b825efeb576d67b9dbe39d736d93306222 (patch) | |
tree | 21c502b1830ad5a3b35d45a749de078f1452b289 /lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | |
parent | 30389141c9c7270b4733ec0b9bc5ad58541f39da (diff) |
Split scheduling from instruction selection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52923 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index 1124f37d2e..8cfc334c02 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -43,9 +43,10 @@ #include "llvm/Target/TargetLowering.h" #include "llvm/Target/TargetMachine.h" #include "llvm/Target/TargetOptions.h" -#include "llvm/Support/MathExtras.h" -#include "llvm/Support/Debug.h" #include "llvm/Support/Compiler.h" +#include "llvm/Support/Debug.h" +#include "llvm/Support/MathExtras.h" +#include "llvm/Support/Timer.h" #include <algorithm> using namespace llvm; @@ -5354,7 +5355,14 @@ void SelectionDAGISel::CodeGenAndEmitDAG(SelectionDAG &DAG) { // Third, instruction select all of the operations to machine code, adding the // code to the MachineBasicBlock. - InstructionSelectBasicBlock(DAG); + InstructionSelect(DAG); + + // Emit machine code to BB. This can change 'BB' to the last block being + // inserted into. + ScheduleAndEmitDAG(DAG); + + // Perform target specific isel post processing. + InstructionSelectPostProcessing(DAG); DOUT << "Selected machine code:\n"; DEBUG(BB->dump()); |