forked from OSchip/llvm-project
Drop obsolete hook and change all usage to new interface
llvm-svn: 56572
This commit is contained in:
parent
7d002fa77b
commit
69ff51baa0
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
///
|
||||
|
|
|
@ -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()) {
|
||||
|
|
|
@ -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()) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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!");
|
||||
|
|
|
@ -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';
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue