diff options
author | Chris Lattner <sabre@nondot.org> | 2004-07-11 02:48:49 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-07-11 02:48:49 +0000 |
commit | d36c970a11633414e56ac1e03010dafa4a63b9c4 (patch) | |
tree | 97801c1ffda4632a7640dd1fcb4c56bde1a9662e /lib/Target/CBackend | |
parent | 98599d098f714c3982e6c096bc21a13bb8d3d055 (diff) | |
download | external_llvm-d36c970a11633414e56ac1e03010dafa4a63b9c4.tar.gz external_llvm-d36c970a11633414e56ac1e03010dafa4a63b9c4.tar.bz2 external_llvm-d36c970a11633414e56ac1e03010dafa4a63b9c4.zip |
Auto-registrate target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14745 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/CBackend')
-rw-r--r-- | lib/Target/CBackend/CBackend.cpp | 4 | ||||
-rw-r--r-- | lib/Target/CBackend/CTargetMachine.h | 3 | ||||
-rw-r--r-- | lib/Target/CBackend/Writer.cpp | 4 |
3 files changed, 11 insertions, 0 deletions
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index 1f6b900597..2cdf30f0d6 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -27,6 +27,7 @@ #include "llvm/Analysis/LoopInfo.h" #include "llvm/CodeGen/IntrinsicLowering.h" #include "llvm/Transforms/Scalar.h" +#include "llvm/Target/TargetMachineRegistry.h" #include "llvm/Support/CallSite.h" #include "llvm/Support/CFG.h" #include "llvm/Support/GetElementPtrTypeIterator.h" @@ -40,6 +41,9 @@ using namespace llvm; namespace { + // Register the target. + RegisterTarget<CTargetMachine> X("c", "C backend"); + /// NameAllUsedStructs - This pass inserts names for any unnamed structure /// types that are used by the program. /// diff --git a/lib/Target/CBackend/CTargetMachine.h b/lib/Target/CBackend/CTargetMachine.h index 97f880d2fd..aa672fc6ca 100644 --- a/lib/Target/CBackend/CTargetMachine.h +++ b/lib/Target/CBackend/CTargetMachine.h @@ -25,6 +25,9 @@ struct CTargetMachine : public TargetMachine { // This is the only thing that actually does anything here. virtual bool addPassesToEmitAssembly(PassManager &PM, std::ostream &Out); + + // This class always works, but shouldn't be the default in most cases. + static unsigned getModuleMatchQuality(const Module &M) { return 1; } }; } // End llvm namespace diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp index 1f6b900597..2cdf30f0d6 100644 --- a/lib/Target/CBackend/Writer.cpp +++ b/lib/Target/CBackend/Writer.cpp @@ -27,6 +27,7 @@ #include "llvm/Analysis/LoopInfo.h" #include "llvm/CodeGen/IntrinsicLowering.h" #include "llvm/Transforms/Scalar.h" +#include "llvm/Target/TargetMachineRegistry.h" #include "llvm/Support/CallSite.h" #include "llvm/Support/CFG.h" #include "llvm/Support/GetElementPtrTypeIterator.h" @@ -40,6 +41,9 @@ using namespace llvm; namespace { + // Register the target. + RegisterTarget<CTargetMachine> X("c", "C backend"); + /// NameAllUsedStructs - This pass inserts names for any unnamed structure /// types that are used by the program. /// |