Changes in directory llvm/lib/Target/PowerPC:
PPCAsmPrinter.cpp updated: 1.199 -> 1.200 PPCTargetAsmInfo.cpp updated: 1.4 -> 1.5 PPCTargetAsmInfo.h updated: 1.2 -> 1.3 --- Log message: Move getSectionForFunction to AsmPrinter, change it to return a string. --- Diffs of the changes: (+17 -19) PPCAsmPrinter.cpp | 19 +++++++++++++++++-- PPCTargetAsmInfo.cpp | 11 ----------- PPCTargetAsmInfo.h | 6 ------ 3 files changed, 17 insertions(+), 19 deletions(-) Index: llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp diff -u llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.199 llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.200 --- llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp:1.199 Wed Oct 4 19:35:50 2006 +++ llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp Wed Oct 4 21:42:20 2006 @@ -238,7 +238,6 @@ virtual bool runOnMachineFunction(MachineFunction &F) = 0; virtual bool doFinalization(Module &M) = 0; - }; /// DarwinAsmPrinter - PowerPC assembly printer, customized for Darwin/Mac OS @@ -267,6 +266,9 @@ PPCAsmPrinter::getAnalysisUsage(AU); } + /// getSectionForFunction - Return the section that we should emit the + /// specified function body into. + virtual std::string getSectionForFunction(const Function &F) const; }; } // end of anonymous namespace @@ -408,6 +410,19 @@ return; } + + +std::string DarwinAsmPrinter::getSectionForFunction(const Function &F) const { + switch (F.getLinkage()) { + default: assert(0 && "Unknown linkage type!"); + case Function::ExternalLinkage: + case Function::InternalLinkage: return TAI->getTextSection(); + case Function::WeakLinkage: + case Function::LinkOnceLinkage: + return ".section __TEXT,__textcoal_nt,coalesced,pure_instructions"; + } +} + /// runOnMachineFunction - This uses the printMachineInstruction() /// method to print assembly for each instruction. /// @@ -422,7 +437,7 @@ // Print out labels for the function. const Function *F = MF.getFunction(); - SwitchToTextSection(TAI->getSectionForFunction(*F), F); + SwitchToTextSection(getSectionForFunction(*F).c_str(), F); switch (F->getLinkage()) { default: assert(0 && "Unknown linkage type!"); Index: llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp diff -u llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp:1.4 llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp:1.5 --- llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp:1.4 Wed Oct 4 19:35:50 2006 +++ llvm/lib/Target/PowerPC/PPCTargetAsmInfo.cpp Wed Oct 4 21:42:20 2006 @@ -51,14 +51,3 @@ DwarfMacInfoSection = ".section __DWARF,__debug_macinfo"; } - -const char *DarwinTargetAsmInfo::getSectionForFunction(const Function &F) const{ - switch (F.getLinkage()) { - default: assert(0 && "Unknown linkage type!"); - case Function::ExternalLinkage: - case Function::InternalLinkage: return TextSection; - case Function::WeakLinkage: - case Function::LinkOnceLinkage: - return ".section __TEXT,__textcoal_nt,coalesced,pure_instructions"; - } -} Index: llvm/lib/Target/PowerPC/PPCTargetAsmInfo.h diff -u llvm/lib/Target/PowerPC/PPCTargetAsmInfo.h:1.2 llvm/lib/Target/PowerPC/PPCTargetAsmInfo.h:1.3 --- llvm/lib/Target/PowerPC/PPCTargetAsmInfo.h:1.2 Wed Oct 4 19:35:50 2006 +++ llvm/lib/Target/PowerPC/PPCTargetAsmInfo.h Wed Oct 4 21:42:20 2006 @@ -23,12 +23,6 @@ struct DarwinTargetAsmInfo : public TargetAsmInfo { DarwinTargetAsmInfo(const PPCTargetMachine &TM); - - /// getSectionForFunction - Return the section that we should emit the - /// specified function body into. This defaults to 'TextSection'. This - /// should most likely be overridden by the target to put linkonce/weak - /// functions into special sections. - virtual const char *getSectionForFunction(const Function &F) const; }; } // namespace llvm _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits