diff options
author | Tanya Lattner <tonic@nondot.org> | 2008-10-30 06:06:32 +0000 |
---|---|---|
committer | Tanya Lattner <tonic@nondot.org> | 2008-10-30 06:06:32 +0000 |
commit | d3598cc85988bc7d68c3788e715f2faa8da4d177 (patch) | |
tree | c6d6649283a62d5cda5abfcee7bc3e8d3e18315f | |
parent | f22c0a175da431dafc9323604ae2788b9208fab5 (diff) | |
download | llvm-d3598cc85988bc7d68c3788e715f2faa8da4d177.tar.gz |
Merge from mainline.
Move the code that adds the DeadMachineInstructionElimPass from
target-independent code to target-specific code. This prevents it
from running on targets that aren't using fast-isel.
In addition to saving compile time, this addresses the problem
that not all targets are prepared for it. In order to use this
pass, all instructions must declare all their fixed uses and
defs of physical registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_24@58425 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/LLVMTargetMachine.cpp | 4 | ||||
-rw-r--r-- | lib/Target/X86/X86TargetMachine.cpp | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp index cd444552f7ac..662f1eb377b7 100644 --- a/lib/CodeGen/LLVMTargetMachine.cpp +++ b/lib/CodeGen/LLVMTargetMachine.cpp @@ -189,10 +189,6 @@ bool LLVMTargetMachine::addCommonCodeGenPasses(PassManagerBase &PM, bool Fast) { if (PrintMachineCode) PM.add(createMachineFunctionPrinterPass(cerr)); - // If we're using Fast-ISel, clean up the mess. - if (EnableFastISel) - PM.add(createDeadMachineInstructionElimPass()); - if (EnableLICM) PM.add(createMachineLICMPass()); diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp index 860868adf16a..33755ba2f0c8 100644 --- a/lib/Target/X86/X86TargetMachine.cpp +++ b/lib/Target/X86/X86TargetMachine.cpp @@ -174,6 +174,11 @@ X86TargetMachine::X86TargetMachine(const Module &M, const std::string &FS, bool X86TargetMachine::addInstSelector(PassManagerBase &PM, bool Fast) { // Install an instruction selector. PM.add(createX86ISelDag(*this, Fast)); + + // If we're using Fast-ISel, clean up the mess. + if (EnableFastISel) + PM.add(createDeadMachineInstructionElimPass()); + return false; } |