mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 21:29:20 +00:00
implement and use getSectionForFunction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30741 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6f6f69950f
commit
edad2b783f
@ -105,6 +105,8 @@ 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);
|
||||
bool runOnMachineFunction(MachineFunction &F);
|
||||
@ -118,6 +120,11 @@ namespace {
|
||||
#include "IA64GenAsmWriter.inc"
|
||||
|
||||
|
||||
std::string IA64AsmPrinter::getSectionForFunction(const Function &F) const {
|
||||
// This means "Allocated instruXions in mem, initialized".
|
||||
return "\n\t.section .text, \"ax\", \"progbits\"\n";
|
||||
}
|
||||
|
||||
/// runOnMachineFunction - This uses the printMachineInstruction()
|
||||
/// method to print assembly for each instruction.
|
||||
///
|
||||
@ -128,10 +135,10 @@ bool IA64AsmPrinter::runOnMachineFunction(MachineFunction &MF) {
|
||||
// Print out constants referenced by the function
|
||||
EmitConstantPool(MF.getConstantPool());
|
||||
|
||||
const Function *F = MF.getFunction();
|
||||
SwitchToTextSection(getSectionForFunction(*F).c_str(), F);
|
||||
|
||||
// Print out labels for the function.
|
||||
SwitchToTextSection("\n\t.section .text, \"ax\", \"progbits\"\n",
|
||||
MF.getFunction());
|
||||
// ^^ means "Allocated instruXions in mem, initialized"
|
||||
EmitAlignment(5);
|
||||
O << "\t.global\t" << CurrentFnName << "\n";
|
||||
O << "\t.type\t" << CurrentFnName << ", @function\n";
|
||||
|
Loading…
Reference in New Issue
Block a user