Drop obsolete hook and change all usage to new interface
authorAnton Korobeynikov <asl@math.spbu.ru>
Wed, 24 Sep 2008 22:13:07 +0000 (22:13 +0000)
committerAnton Korobeynikov <asl@math.spbu.ru>
Wed, 24 Sep 2008 22:13:07 +0000 (22:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56572 91177308-0d34-0410-b5e6-96231b3b80d8

13 files changed:
include/llvm/CodeGen/AsmPrinter.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
lib/Target/Alpha/AlphaAsmPrinter.cpp
lib/Target/CellSPU/SPUAsmPrinter.cpp
lib/Target/IA64/IA64AsmPrinter.cpp
lib/Target/Mips/MipsAsmPrinter.cpp
lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
lib/Target/Sparc/SparcAsmPrinter.cpp
lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp
lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h
lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp
lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.h

index 45ea5d8977402609934dd2c8a86ad1fc0a815b85..931e31a63c65645a115fb4f80dc66279b98e1774 100644 (file)
@@ -184,12 +184,6 @@ namespace llvm {
                                        unsigned AsmVariant, 
                                        const char *ExtraCode);
     
-    /// 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 std::string getSectionForFunction(const Function &F) const;
-    
     /// SetupMachineFunction - This should be called when a new MachineFunction
     /// is being processed from runOnMachineFunction.
     void SetupMachineFunction(MachineFunction &MF);
index 6e9d935e0c009b2222d89480a08123af30fd469d..93ebf21818868936464f5deb63352314f563dd2b 100644 (file)
@@ -47,11 +47,6 @@ AsmPrinter::~AsmPrinter() {
                     E = GCMetadataPrinters.end(); I != E; ++I)
     delete I->second;
 }
-    
-std::string AsmPrinter::getSectionForFunction(const Function &F) const {
-  return TAI->getTextSection();
-}
-
 
 /// SwitchToTextSection - Switch to the specified text section of the executable
 /// if we are not already in it!
@@ -331,7 +326,7 @@ void AsmPrinter::EmitJumpTableInfo(MachineJumpTableInfo *MJTI,
     // function body itself, otherwise the label differences won't make sense.
     // We should also do if the section name is NULL or function is declared in
     // discardable section.
-    SwitchToTextSection(getSectionForFunction(*F).c_str(), F);
+    SwitchToTextSection(TAI->SectionForGlobal(F).c_str(), F);
   } else {
     SwitchToDataSection(JumpTableDataSection);
   }
index c2e241728492e5bed3057205af472c06857124da..4db430f9e224382725347599213a58f2cec43a89 100644 (file)
@@ -130,10 +130,6 @@ namespace {
     bool doInitialization(Module &M);
     bool doFinalization(Module &M);
 
-    /// getSectionForFunction - Return the section that we should emit the
-    /// specified function body into.
-    virtual std::string getSectionForFunction(const Function &F) const;
-
     /// EmitMachineConstantPoolValue - Print a machine constantpool value to
     /// the .s file.
     virtual void EmitMachineConstantPoolValue(MachineConstantPoolValue *MCPV) {
@@ -179,11 +175,6 @@ namespace {
 
 #include "ARMGenAsmWriter.inc"
 
-// Substitute old hook with new one temporary
-std::string ARMAsmPrinter::getSectionForFunction(const Function &F) const {
-  return TAI->SectionForGlobal(&F);
-}
-
 /// runOnMachineFunction - This uses the printInstruction()
 /// method to print assembly for each instruction.
 ///
index d92317e9204ee2bf178663e55fb989ea7a573c4c..b1265afe1abe49319618f5579189f8c6c4afc6d6 100644 (file)
@@ -149,7 +149,7 @@ bool AlphaAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
 
   // Print out labels for the function.
   const Function *F = MF.getFunction();
-  SwitchToTextSection(getSectionForFunction(*F).c_str(), F);
+  SwitchToTextSection(TAI->SectionForGlobal(F).c_str(), F);
 
   EmitAlignment(4, F);
   switch (F->getLinkage()) {
index 2cfec795d4269c6b483f75be4e0199248fbc9bcd..ef33968c28f457a4106f4ac10bcd7781e60b721d 100644 (file)
@@ -297,9 +297,6 @@ namespace {
       SPUAsmPrinter::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
 
@@ -406,19 +403,6 @@ void SPUAsmPrinter::printMachineInstruction(const MachineInstr *MI) {
   printInstruction(MI);
 }
 
-
-
-std::string LinuxAsmPrinter::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 ""; // Print nothing for the time being...
-  }
-}
-
 /// runOnMachineFunction - This uses the printMachineInstruction()
 /// method to print assembly for each instruction.
 ///
@@ -434,7 +418,7 @@ LinuxAsmPrinter::runOnMachineFunction(MachineFunction &MF)
   // Print out labels for the function.
   const Function *F = MF.getFunction();
 
-  SwitchToTextSection(getSectionForFunction(*F).c_str(), F);
+  SwitchToTextSection(TAI->SectionForGlobal(F).c_str(), F);
   EmitAlignment(3, F);
 
   switch (F->getLinkage()) {
index 957deba45230806b017955d448345624bcfbc0f3..ff33125913c3b676efab183d0a8b5cd0453e9bac 100644 (file)
@@ -106,8 +106,6 @@ namespace {
       printOp(MI->getOperand(OpNo), true); // this is a br.call instruction
     }
 
-    std::string getSectionForFunction(const Function &F) const;
-
     void printMachineInstruction(const MachineInstr *MI);
     void printOp(const MachineOperand &MO, bool isBRCALLinsn= false);
     void printModuleLevelGV(const GlobalVariable* GVar);
@@ -121,12 +119,6 @@ namespace {
 // Include the auto-generated portion of the assembly writer.
 #include "IA64GenAsmWriter.inc"
 
-
-// Substitute old hook with new one temporary
-std::string IA64AsmPrinter::getSectionForFunction(const Function &F) const {
-  return TAI->SectionForGlobal(&F);
-}
-
 /// runOnMachineFunction - This uses the printMachineInstruction()
 /// method to print assembly for each instruction.
 ///
@@ -138,7 +130,7 @@ bool IA64AsmPrinter::runOnMachineFunction(MachineFunction &MF) {
   EmitConstantPool(MF.getConstantPool());
 
   const Function *F = MF.getFunction();
-  SwitchToTextSection(getSectionForFunction(*F).c_str(), F);
+  SwitchToTextSection(TAI->SectionForGlobal(F).c_str(), F);
 
   // Print out labels for the function.
   EmitAlignment(5);
index 02455cf26d9ba7c3a78e68610dbee1a31da13d44..fbe3faa3393c2022d81dde5c15ff5e2404d88c1b 100644 (file)
@@ -59,7 +59,6 @@ namespace {
       return "Mips Assembly Printer";
     }
 
-    virtual std::string getSectionForFunction(const Function &F) const;
     bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, 
                          unsigned AsmVariant, const char *ExtraCode);
     void printOperand(const MachineInstr *MI, int opNum);
@@ -219,11 +218,6 @@ emitCurrentABIString(void)
   return NULL;
 }  
 
-// Substitute old hook with new one temporary
-std::string MipsAsmPrinter::getSectionForFunction(const Function &F) const {
-  return TAI->SectionForGlobal(&F);
-}
-
 /// Emit the directives used by GAS on the start of functions
 void MipsAsmPrinter::
 emitFunctionStart(MachineFunction &MF)
index 8ea182537d2122e66008224b52ac0e66320aaaa5..a8127f6f63cfa5cb407da6a28f1809af4ebb1093 100644 (file)
@@ -315,9 +315,6 @@ namespace {
       PPCAsmPrinter::getAnalysisUsage(AU);
     }
 
-    /// getSectionForFunction - Return the section that we should emit the
-    /// specified function body into.
-    virtual std::string getSectionForFunction(const Function &F) const;
     void printModuleLevelGV(const GlobalVariable* GVar);
   };
 
@@ -347,9 +344,6 @@ namespace {
       PPCAsmPrinter::getAnalysisUsage(AU);
     }
 
-    /// getSectionForFunction - Return the section that we should emit the
-    /// specified function body into.
-    virtual std::string getSectionForFunction(const Function &F) const;
     void printModuleLevelGV(const GlobalVariable* GVar);
   };
 } // end of anonymous namespace
@@ -577,7 +571,7 @@ bool PPCLinuxAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
 
   // Print out labels for the function.
   const Function *F = MF.getFunction();
-  SwitchToTextSection(getSectionForFunction(*F).c_str(), F);
+  SwitchToTextSection(TAI->SectionForGlobal(F).c_str(), F);
 
   switch (F->getLinkage()) {
   default: assert(0 && "Unknown linkage type!");
@@ -753,14 +747,6 @@ bool PPCLinuxAsmPrinter::doFinalization(Module &M) {
   return AsmPrinter::doFinalization(M);
 }
 
-std::string PPCLinuxAsmPrinter::getSectionForFunction(const Function &F) const {
-  return TAI->SectionForGlobal(&F);
-}
-
-std::string PPCDarwinAsmPrinter::getSectionForFunction(const Function &F) const {
-  return TAI->SectionForGlobal(&F);
-}
-
 /// runOnMachineFunction - This uses the printMachineInstruction()
 /// method to print assembly for each instruction.
 ///
@@ -773,7 +759,7 @@ bool PPCDarwinAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
 
   // Print out labels for the function.
   const Function *F = MF.getFunction();
-  SwitchToTextSection(getSectionForFunction(*F).c_str(), F);
+  SwitchToTextSection(TAI->SectionForGlobal(F).c_str(), F);
 
   switch (F->getLinkage()) {
   default: assert(0 && "Unknown linkage type!");
index 8fa54883e37ba7c8cb99f95a8a08ce43a408d218..bb4d6aeea7b50dc10fe276b94963de6d278ad062 100644 (file)
@@ -63,7 +63,6 @@ namespace {
 
     bool printInstruction(const MachineInstr *MI);  // autogenerated.
     bool runOnMachineFunction(MachineFunction &F);
-    std::string getSectionForFunction(const Function &F) const;
     bool doInitialization(Module &M);
     bool doFinalization(Module &M);
   };
@@ -81,11 +80,6 @@ FunctionPass *llvm::createSparcCodePrinterPass(raw_ostream &o,
   return new SparcAsmPrinter(o, tm, tm.getTargetAsmInfo());
 }
 
-// Substitute old hook with new one temporary
-std::string SparcAsmPrinter::getSectionForFunction(const Function &F) const {
-  return TAI->SectionForGlobal(&F);
-}
-
 /// runOnMachineFunction - This uses the printInstruction()
 /// method to print assembly for each instruction.
 ///
@@ -105,7 +99,7 @@ bool SparcAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
 
   // Print out the label for the function.
   const Function *F = MF.getFunction();
-  SwitchToTextSection(getSectionForFunction(*F).c_str(), F);
+  SwitchToTextSection(TAI->SectionForGlobal(F).c_str(), F);
   EmitAlignment(4, F);
   O << "\t.globl\t" << CurrentFnName << '\n';
 
index cada75027d0c519be0f7292fbccfe5f362e74bfe..61c8f12eec36222ab6466440449e814d4fe51dcf 100644 (file)
@@ -146,11 +146,6 @@ void X86ATTAsmPrinter::decorateName(std::string &Name,
   }
 }
 
-// Substitute old hook with new one temporary
-std::string X86ATTAsmPrinter::getSectionForFunction(const Function &F) const {
-  return TAI->SectionForGlobal(&F);
-}
-
 void X86ATTAsmPrinter::emitFunctionHeader(const MachineFunction &MF) {
   const Function *F = MF.getFunction();
   std::string SectionName = TAI->SectionForGlobal(F);
index 87845fbb0a9ff261052a6bdef208fafb4d1fadff..312c11d570ce5ed7463d3eada2853dc5b7586a7d 100644 (file)
@@ -124,10 +124,6 @@ struct VISIBILITY_HIDDEN X86ATTAsmPrinter : public AsmPrinter {
 
   bool runOnMachineFunction(MachineFunction &F);
 
-  /// getSectionForFunction - Return the section that we should emit the
-  /// specified function body into.
-  virtual std::string getSectionForFunction(const Function &F) const;
-
   void emitFunctionHeader(const MachineFunction &MF);
 
   // Necessary for Darwin to print out the apprioriate types of linker stubs
index 3c4612b1e2d4995511381ab634fcd8de3361bd4b..ec0bfeb7d63d9c3eb44817829df9c6f0ac7396bb 100644 (file)
@@ -117,12 +117,6 @@ void X86IntelAsmPrinter::decorateName(std::string &Name,
   }
 }
 
-
-std::string X86IntelAsmPrinter::getSectionForFunction(const Function &F) const {
-  // Intel asm always emits functions to _text.
-  return "_text";
-}
-
 /// runOnMachineFunction - This uses the printMachineInstruction()
 /// method to print assembly for each instruction.
 ///
@@ -144,7 +138,7 @@ bool X86IntelAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
 
   decorateName(CurrentFnName, F);
 
-  SwitchToTextSection(getSectionForFunction(*F).c_str(), F);
+  SwitchToTextSection("_text", F);
 
   unsigned FnAlign = OptimizeForSize ? 1 : 4;
   if (!F->isDeclaration() && F->hasNote(FnAttr::OptimizeForSize))
index 3cb17faca220b23242ce0da47df6122f756f9e37..ff3161779fa068a66e7e91b3e88ad9204ffcac3c 100644 (file)
@@ -131,10 +131,6 @@ struct VISIBILITY_HIDDEN X86IntelAsmPrinter : public AsmPrinter {
 
   void decorateName(std::string& Name, const GlobalValue* GV);
 
-  /// getSectionForFunction - Return the section that we should emit the
-  /// specified function body into.
-  virtual std::string getSectionForFunction(const Function &F) const;
-
   virtual void EmitString(const ConstantArray *CVA) const;
 
   // Necessary for dllexport support