diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-08-12 07:22:17 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-08-12 07:22:17 +0000 |
| commit | d88f9fd3f28cee69b0fcdca59532824d5617577e (patch) | |
| tree | ac43fb9b39f3a7abe8aa7cb217860e4d29329963 /lib/Target/Mips | |
| parent | cdd849e6363813d9dad21dd4da5e4d47f60b551f (diff) | |
| download | external_llvm-d88f9fd3f28cee69b0fcdca59532824d5617577e.zip external_llvm-d88f9fd3f28cee69b0fcdca59532824d5617577e.tar.gz external_llvm-d88f9fd3f28cee69b0fcdca59532824d5617577e.tar.bz2 | |
Change TargetAsmInfo to be constructed via TargetRegistry from a Target+Triple
pair instead of from a virtual method on TargetMachine. This cuts the final
ties of TargetAsmInfo to TargetMachine, meaning that MC can now use
TargetAsmInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78802 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips')
| -rw-r--r-- | lib/Target/Mips/MipsTargetAsmInfo.cpp | 2 | ||||
| -rw-r--r-- | lib/Target/Mips/MipsTargetAsmInfo.h | 5 | ||||
| -rw-r--r-- | lib/Target/Mips/MipsTargetMachine.cpp | 6 | ||||
| -rw-r--r-- | lib/Target/Mips/MipsTargetMachine.h | 4 |
4 files changed, 7 insertions, 10 deletions
diff --git a/lib/Target/Mips/MipsTargetAsmInfo.cpp b/lib/Target/Mips/MipsTargetAsmInfo.cpp index f587172..3046f33 100644 --- a/lib/Target/Mips/MipsTargetAsmInfo.cpp +++ b/lib/Target/Mips/MipsTargetAsmInfo.cpp @@ -14,7 +14,7 @@ #include "MipsTargetAsmInfo.h" using namespace llvm; -MipsTargetAsmInfo::MipsTargetAsmInfo() { +MipsTargetAsmInfo::MipsTargetAsmInfo(const Target &T, const StringRef &TT) { AlignmentIsInBytes = false; COMMDirectiveTakesAlignment = true; Data16bitsDirective = "\t.half\t"; diff --git a/lib/Target/Mips/MipsTargetAsmInfo.h b/lib/Target/Mips/MipsTargetAsmInfo.h index 32e98df..fbb0236 100644 --- a/lib/Target/Mips/MipsTargetAsmInfo.h +++ b/lib/Target/Mips/MipsTargetAsmInfo.h @@ -17,9 +17,12 @@ #include "llvm/Target/TargetAsmInfo.h" namespace llvm { + class Target; + class StringRef; + class MipsTargetAsmInfo : public TargetAsmInfo { public: - explicit MipsTargetAsmInfo(); + explicit MipsTargetAsmInfo(const Target &T, const StringRef &TT); }; } // namespace llvm diff --git a/lib/Target/Mips/MipsTargetMachine.cpp b/lib/Target/Mips/MipsTargetMachine.cpp index 546c834..c09b606 100644 --- a/lib/Target/Mips/MipsTargetMachine.cpp +++ b/lib/Target/Mips/MipsTargetMachine.cpp @@ -22,10 +22,8 @@ extern "C" void LLVMInitializeMipsTarget() { // Register the target. RegisterTargetMachine<MipsTargetMachine> X(TheMipsTarget); RegisterTargetMachine<MipselTargetMachine> Y(TheMipselTarget); -} - -const TargetAsmInfo *MipsTargetMachine::createTargetAsmInfo() const { - return new MipsTargetAsmInfo(); + RegisterAsmInfo<MipsTargetAsmInfo> A(TheMipsTarget); + RegisterAsmInfo<MipsTargetAsmInfo> B(TheMipselTarget); } // DataLayout --> Big-endian, 32-bit pointer/ABI/alignment diff --git a/lib/Target/Mips/MipsTargetMachine.h b/lib/Target/Mips/MipsTargetMachine.h index 5f5de75..c3428be 100644 --- a/lib/Target/Mips/MipsTargetMachine.h +++ b/lib/Target/Mips/MipsTargetMachine.h @@ -30,10 +30,6 @@ namespace llvm { MipsInstrInfo InstrInfo; TargetFrameInfo FrameInfo; MipsTargetLowering TLInfo; - - protected: - virtual const TargetAsmInfo *createTargetAsmInfo() const; - public: MipsTargetMachine(const Target &T, const std::string &TT, const std::string &FS, bool isLittle); |
