Changes in directory llvm/lib/Target/Sparc:
SparcAsmPrinter.cpp updated: 1.67 -> 1.68 SparcTargetMachine.h updated: 1.15 -> 1.16 --- Log message: Make target asm info a property of the target machine. --- Diffs of the changes: (+6 -14) SparcAsmPrinter.cpp | 16 ++-------------- SparcTargetMachine.h | 4 ++++ 2 files changed, 6 insertions(+), 14 deletions(-) Index: llvm/lib/Target/Sparc/SparcAsmPrinter.cpp diff -u llvm/lib/Target/Sparc/SparcAsmPrinter.cpp:1.67 llvm/lib/Target/Sparc/SparcAsmPrinter.cpp:1.68 --- llvm/lib/Target/Sparc/SparcAsmPrinter.cpp:1.67 Wed Sep 6 13:34:40 2006 +++ llvm/lib/Target/Sparc/SparcAsmPrinter.cpp Thu Sep 7 17:06:40 2006 @@ -37,19 +37,8 @@ namespace { Statistic<> EmittedInsts("asm-printer", "Number of machine instrs printed"); - struct VISIBILITY_HIDDEN SparcTargetAsmInfo : public TargetAsmInfo { - SparcTargetAsmInfo() { - Data16bitsDirective = "\t.half\t"; - Data32bitsDirective = "\t.word\t"; - Data64bitsDirective = 0; // .xword is only supported by V9. - ZeroDirective = "\t.skip\t"; - CommentString = "!"; - ConstantPoolSection = "\t.section \".rodata\",#alloc\n"; - } - }; - struct VISIBILITY_HIDDEN SparcAsmPrinter : public AsmPrinter { - SparcAsmPrinter(std::ostream &O, TargetMachine &TM, TargetAsmInfo *T) + SparcAsmPrinter(std::ostream &O, TargetMachine &TM, const TargetAsmInfo *T) : AsmPrinter(O, TM, T) { } @@ -85,8 +74,7 @@ /// FunctionPass *llvm::createSparcCodePrinterPass(std::ostream &o, TargetMachine &tm) { - SparcTargetAsmInfo *TAI = new SparcTargetAsmInfo(); - return new SparcAsmPrinter(o, tm, TAI); + return new SparcAsmPrinter(o, tm, tm.getTargetAsmInfo()); } /// runOnMachineFunction - This uses the printMachineInstruction() Index: llvm/lib/Target/Sparc/SparcTargetMachine.h diff -u llvm/lib/Target/Sparc/SparcTargetMachine.h:1.15 llvm/lib/Target/Sparc/SparcTargetMachine.h:1.16 --- llvm/lib/Target/Sparc/SparcTargetMachine.h:1.15 Sun Sep 3 23:14:57 2006 +++ llvm/lib/Target/Sparc/SparcTargetMachine.h Thu Sep 7 17:06:40 2006 @@ -19,6 +19,7 @@ #include "llvm/Target/TargetFrameInfo.h" #include "SparcInstrInfo.h" #include "SparcSubtarget.h" +#include "SparcTargetAsmInfo.h" namespace llvm { @@ -41,6 +42,9 @@ virtual const TargetData *getTargetData() const { return &DataLayout; } static unsigned getModuleMatchQuality(const Module &M); + virtual const TargetAsmInfo *createTargetAsmInfo() const { + return static_cast<const TargetAsmInfo *>(new SparcTargetAsmInfo(*this)); + } // Pass Pipeline Configuration virtual bool addInstSelector(FunctionPassManager &PM, bool Fast); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits