diff options
author | Chris Lattner <sabre@nondot.org> | 2009-08-02 04:44:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-08-02 04:44:33 +0000 |
commit | 09e820b07cc5ae52de35d402cd419030dd3765a0 (patch) | |
tree | 83a90f086047bf4ee39b76556093410ec0f0a218 /lib/Target/CellSPU | |
parent | 71a56d75b4c7b7178f81b367d44e93d5623923d0 (diff) | |
download | llvm-09e820b07cc5ae52de35d402cd419030dd3765a0.tar.gz llvm-09e820b07cc5ae52de35d402cd419030dd3765a0.tar.bz2 llvm-09e820b07cc5ae52de35d402cd419030dd3765a0.tar.xz |
simplify SPULinuxTargetAsmInfo, remove use of TM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77869 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/CellSPU')
-rw-r--r-- | lib/Target/CellSPU/SPUTargetAsmInfo.cpp | 20 | ||||
-rw-r--r-- | lib/Target/CellSPU/SPUTargetAsmInfo.h | 25 | ||||
-rw-r--r-- | lib/Target/CellSPU/SPUTargetMachine.cpp | 15 |
3 files changed, 16 insertions, 44 deletions
diff --git a/lib/Target/CellSPU/SPUTargetAsmInfo.cpp b/lib/Target/CellSPU/SPUTargetAsmInfo.cpp index 76c4db4830..66c25a84b4 100644 --- a/lib/Target/CellSPU/SPUTargetAsmInfo.cpp +++ b/lib/Target/CellSPU/SPUTargetAsmInfo.cpp @@ -12,16 +12,17 @@ //===----------------------------------------------------------------------===// #include "SPUTargetAsmInfo.h" -#include "SPUTargetMachine.h" -#include "llvm/Function.h" -#include "llvm/Support/Compiler.h" -#include "llvm/Support/Dwarf.h" - using namespace llvm; -using namespace llvm::dwarf; -SPULinuxTargetAsmInfo::SPULinuxTargetAsmInfo(const SPUTargetMachine &TM) : - SPUTargetAsmInfo<TargetAsmInfo>(TM) { +SPULinuxTargetAsmInfo::SPULinuxTargetAsmInfo() { + ZeroDirective = "\t.space\t"; + SetDirective = "\t.set"; + Data64bitsDirective = "\t.quad\t"; + AlignmentIsInBytes = false; + LCOMMDirective = "\t.lcomm\t"; + InlineAsmStart = "# InlineAsm Start"; + InlineAsmEnd = "# InlineAsm End"; + PCSymbol = "."; CommentString = "#"; GlobalPrefix = ""; @@ -50,6 +51,3 @@ SPULinuxTargetAsmInfo::SPULinuxTargetAsmInfo(const SPUTargetMachine &TM) : SupportsExceptionHandling = false; } - -// Instantiate default implementation. -TEMPLATE_INSTANTIATION(class SPUTargetAsmInfo<TargetAsmInfo>); diff --git a/lib/Target/CellSPU/SPUTargetAsmInfo.h b/lib/Target/CellSPU/SPUTargetAsmInfo.h index 8217c16fb8..9507ff9e59 100644 --- a/lib/Target/CellSPU/SPUTargetAsmInfo.h +++ b/lib/Target/CellSPU/SPUTargetAsmInfo.h @@ -15,32 +15,11 @@ #define SPUTARGETASMINFO_H #include "llvm/Target/TargetAsmInfo.h" -#include "SPUTargetMachine.h" -#include "SPUSubtarget.h" namespace llvm { - // Forward declaration. - class SPUTargetMachine; - - template <class BaseTAI> - struct SPUTargetAsmInfo : public BaseTAI { - explicit SPUTargetAsmInfo(const SPUTargetMachine &TM) { - /* (unused today) - * const SPUSubtarget *Subtarget = &TM.getSubtarget<SPUSubtarget>(); */ - - BaseTAI::ZeroDirective = "\t.space\t"; - BaseTAI::SetDirective = "\t.set"; - BaseTAI::Data64bitsDirective = "\t.quad\t"; - BaseTAI::AlignmentIsInBytes = false; - BaseTAI::LCOMMDirective = "\t.lcomm\t"; - BaseTAI::InlineAsmStart = "# InlineAsm Start"; - BaseTAI::InlineAsmEnd = "# InlineAsm End"; - } - }; - - struct SPULinuxTargetAsmInfo : public SPUTargetAsmInfo<TargetAsmInfo> { - explicit SPULinuxTargetAsmInfo(const SPUTargetMachine &TM); + struct SPULinuxTargetAsmInfo : public TargetAsmInfo { + explicit SPULinuxTargetAsmInfo(); }; } // namespace llvm diff --git a/lib/Target/CellSPU/SPUTargetMachine.cpp b/lib/Target/CellSPU/SPUTargetMachine.cpp index 26215cd26f..340eb56f36 100644 --- a/lib/Target/CellSPU/SPUTargetMachine.cpp +++ b/lib/Target/CellSPU/SPUTargetMachine.cpp @@ -34,10 +34,8 @@ SPUFrameInfo::getCalleeSaveSpillSlots(unsigned &NumEntries) const { return &LR[0]; } -const TargetAsmInfo * -SPUTargetMachine::createTargetAsmInfo() const -{ - return new SPULinuxTargetAsmInfo(*this); +const TargetAsmInfo *SPUTargetMachine::createTargetAsmInfo() const { + return new SPULinuxTargetAsmInfo(); } SPUTargetMachine::SPUTargetMachine(const Target &T, const Module &M, @@ -48,8 +46,7 @@ SPUTargetMachine::SPUTargetMachine(const Target &T, const Module &M, InstrInfo(*this), FrameInfo(*this), TLInfo(*this), - InstrItins(Subtarget.getInstrItineraryData()) -{ + InstrItins(Subtarget.getInstrItineraryData()) { // For the time being, use static relocations, since there's really no // support for PIC yet. setRelocationModel(Reloc::Static); @@ -59,10 +56,8 @@ SPUTargetMachine::SPUTargetMachine(const Target &T, const Module &M, // Pass Pipeline Configuration //===----------------------------------------------------------------------===// -bool -SPUTargetMachine::addInstSelector(PassManagerBase &PM, - CodeGenOpt::Level OptLevel) -{ +bool SPUTargetMachine::addInstSelector(PassManagerBase &PM, + CodeGenOpt::Level OptLevel) { // Install an instruction selector. PM.add(createSPUISelDag(*this)); return false; |