diff options
| author | Dan Gohman <gohman@apple.com> | 2007-10-12 14:53:36 +0000 |
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2007-10-12 14:53:36 +0000 |
| commit | dc35bd79caa48dd0e1a616749abb65339c3a8c4b (patch) | |
| tree | de7d89c43a14eee1d33e78da1c9f9febbb3cde0d /llvm/lib/Target/X86/X86ATTAsmPrinter.cpp | |
| parent | e3583817ac0c3a6a17357887f69e518284b7665f (diff) | |
| download | bcm5719-llvm-dc35bd79caa48dd0e1a616749abb65339c3a8c4b.tar.gz bcm5719-llvm-dc35bd79caa48dd0e1a616749abb65339c3a8c4b.zip | |
Change the names used for internal labels to use the current
function symbol name instead of a codegen-assigned function
number.
Thanks Evan! :-)
llvm-svn: 42908
Diffstat (limited to 'llvm/lib/Target/X86/X86ATTAsmPrinter.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86ATTAsmPrinter.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp b/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp index 06558771240..4a52269b791 100644 --- a/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp +++ b/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp @@ -31,14 +31,14 @@ using namespace llvm; STATISTIC(EmittedInsts, "Number of machine instrs printed"); -static std::string computePICLabel(unsigned FnNum, +static std::string computePICLabel(const std::string &FnName, const TargetAsmInfo *TAI, const X86Subtarget* Subtarget) { std::string label; if (Subtarget->isTargetDarwin()) - label = "\"L" + utostr_32(FnNum) + "$pb\""; + label = "\"L" "pb$" + FnName + "\""; else if (Subtarget->isTargetELF()) - label = ".Lllvm$" + utostr_32(FnNum) + "$piclabel"; + label = ".Lllvm$piclabel$" + FnName; else assert(0 && "Don't know how to print PIC label!\n"); @@ -236,13 +236,13 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo, case MachineOperand::MO_JumpTableIndex: { bool isMemOp = Modifier && !strcmp(Modifier, "mem"); if (!isMemOp) O << '$'; - O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber() << "_" - << MO.getJumpTableIndex(); + O << TAI->getPrivateGlobalPrefix() << "JTI" << MO.getJumpTableIndex() + << '_' << CurrentFnName; if (TM.getRelocationModel() == Reloc::PIC_) { if (Subtarget->isPICStyleStub()) - O << "-\"" << TAI->getPrivateGlobalPrefix() << getFunctionNumber() - << "$pb\""; + O << "-\"" << TAI->getPrivateGlobalPrefix() << "pb$" << CurrentFnName + << "\""; else if (Subtarget->isPICStyleGOT()) O << "@GOTOFF"; } @@ -254,13 +254,13 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo, case MachineOperand::MO_ConstantPoolIndex: { bool isMemOp = Modifier && !strcmp(Modifier, "mem"); if (!isMemOp) O << '$'; - O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << "_" - << MO.getConstantPoolIndex(); + O << TAI->getPrivateGlobalPrefix() << "CPI" << MO.getConstantPoolIndex() + << '_' << CurrentFnName; if (TM.getRelocationModel() == Reloc::PIC_) { if (Subtarget->isPICStyleStub()) - O << "-\"" << TAI->getPrivateGlobalPrefix() << getFunctionNumber() - << "$pb\""; + O << "-\"" << TAI->getPrivateGlobalPrefix() << "pb$" << CurrentFnName + << "\""; else if (Subtarget->isPICStyleGOT()) O << "@GOTOFF"; } @@ -317,8 +317,8 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo, } if (!isCallOp && TM.getRelocationModel() == Reloc::PIC_) - O << "-\"" << TAI->getPrivateGlobalPrefix() << getFunctionNumber() - << "$pb\""; + O << "-\"" << TAI->getPrivateGlobalPrefix() << "pb$" << CurrentFnName + << "\""; } else { if (GV->hasDLLImportLinkage()) { O << "__imp_"; @@ -418,7 +418,7 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo, // popl %some_register // addl $_GLOBAL_ADDRESS_TABLE_ + [.-piclabel], %some_register O << " + [.-" - << computePICLabel(getFunctionNumber(), TAI, Subtarget) << "]"; + << computePICLabel(CurrentFnName, TAI, Subtarget) << "]"; if (isCallOp) O << "@PLT"; @@ -498,7 +498,7 @@ void X86ATTAsmPrinter::printMemReference(const MachineInstr *MI, unsigned Op, } void X86ATTAsmPrinter::printPICLabel(const MachineInstr *MI, unsigned Op) { - std::string label = computePICLabel(getFunctionNumber(), TAI, Subtarget); + std::string label = computePICLabel(CurrentFnName, TAI, Subtarget); O << label << "\n" << label << ":"; } |

