diff options
author | David Greene <greened@obbligato.org> | 2007-09-06 16:18:45 +0000 |
---|---|---|
committer | David Greene <greened@obbligato.org> | 2007-09-06 16:18:45 +0000 |
commit | 2c17c4d8d9f232f0329786ad9abee976bc0f3d27 (patch) | |
tree | 09b4e8895982a1f9e39334d682daf97eb3b177cb /lib/CodeGen/SimpleRegisterCoalescing.cpp | |
parent | 455e176ffb02ec4ad20f03a97534af3df32dfaed (diff) | |
download | external_llvm-2c17c4d8d9f232f0329786ad9abee976bc0f3d27.zip external_llvm-2c17c4d8d9f232f0329786ad9abee976bc0f3d27.tar.gz external_llvm-2c17c4d8d9f232f0329786ad9abee976bc0f3d27.tar.bz2 |
Pluggable coalescers inplementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41743 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SimpleRegisterCoalescing.cpp')
-rw-r--r-- | lib/CodeGen/SimpleRegisterCoalescing.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/CodeGen/SimpleRegisterCoalescing.cpp b/lib/CodeGen/SimpleRegisterCoalescing.cpp index 4d5c081..779c36a 100644 --- a/lib/CodeGen/SimpleRegisterCoalescing.cpp +++ b/lib/CodeGen/SimpleRegisterCoalescing.cpp @@ -23,6 +23,7 @@ #include "llvm/CodeGen/MachineInstr.h" #include "llvm/CodeGen/Passes.h" #include "llvm/CodeGen/SSARegMap.h" +#include "llvm/CodeGen/RegisterCoalescer.h" #include "llvm/Target/MRegisterInfo.h" #include "llvm/Target/TargetInstrInfo.h" #include "llvm/Target/TargetMachine.h" @@ -48,6 +49,9 @@ namespace { RegisterPass<SimpleRegisterCoalescing> X("simple-register-coalescing", "Simple Register Coalescing"); + + // Declare that we implement the RegisterCoalescer interface + RegisterAnalysisGroup<RegisterCoalescer, true/*The Default*/> V(X); } const PassInfo *llvm::SimpleRegisterCoalescingID = X.getPassInfo(); @@ -1191,3 +1195,10 @@ bool SimpleRegisterCoalescing::runOnMachineFunction(MachineFunction &fn) { void SimpleRegisterCoalescing::print(std::ostream &O, const Module* m) const { li_->print(O, m); } + +RegisterCoalescer* llvm::createSimpleRegisterCoalescer() { + return new SimpleRegisterCoalescing(); +} + +// Make sure that anything that uses RegisterCoalescer pulls in this file... +DEFINING_FILE_FOR(SimpleRegisterCoalescing) |