STATISTIC(EmittedInsts, "Number of machine instrs printed");
-static std::string computePICLabel(unsigned fnNumber,
- const X86Subtarget* Subtarget)
-{
+static std::string computePICLabel(unsigned FnNum,
+ const TargetAsmInfo *TAI,
+ const X86Subtarget* Subtarget) {
std::string label;
-
- if (Subtarget->isTargetDarwin()) {
- label = "\"L" + utostr_32(fnNumber) + "$pb\"";
- } else if (Subtarget->isTargetELF()) {
- label = ".Lllvm$" + utostr_32(fnNumber) + "$piclabel";
- } else
+ if (Subtarget->isTargetDarwin())
+ label = "\"L" + utostr_32(FnNum) + "$pb\"";
+ else if (Subtarget->isTargetELF())
+ label = ".Lllvm$" + utostr_32(FnNum) + "$piclabel";
+ else
assert(0 && "Don't know how to print PIC label!\n");
return label;
if (TM.getRelocationModel() == Reloc::PIC_) {
if (Subtarget->isPICStyleStub())
- O << "-\"L" << getFunctionNumber() << "$pb\"";
+ O << "-\"" << TAI->getPrivateGlobalPrefix() << getFunctionNumber()
+ << "$pb\"";
else if (Subtarget->isPICStyleGOT())
O << "@GOTOFF";
}
if (TM.getRelocationModel() == Reloc::PIC_) {
if (Subtarget->isPICStyleStub())
- O << "-\"L" << getFunctionNumber() << "$pb\"";
+ O << "-\"" << TAI->getPrivateGlobalPrefix() << getFunctionNumber()
+ << "$pb\"";
if (Subtarget->isPICStyleGOT())
O << "@GOTOFF";
}
// Dynamically-resolved functions need a stub for the function.
if (isCallOp && isa<Function>(GV)) {
FnStubs.insert(Name);
- O << "L" << Name << "$stub";
+ O << TAI->getPrivateGlobalPrefix() << Name << "$stub";
} else {
GVStubs.insert(Name);
- O << "L" << Name << "$non_lazy_ptr";
+ O << TAI->getPrivateGlobalPrefix() << Name << "$non_lazy_ptr";
}
} else {
if (GV->hasDLLImportLinkage()) {
}
if (!isCallOp && TM.getRelocationModel() == Reloc::PIC_)
- O << "-\"L" << getFunctionNumber() << "$pb\"";
+ O << "-\"" << TAI->getPrivateGlobalPrefix() << getFunctionNumber()
+ << "$pb\"";
} else {
if (GV->hasDLLImportLinkage()) {
O << "__imp_";
Name += MO.getSymbolName();
if (isCallOp && Subtarget->isPICStyleStub()) {
FnStubs.insert(Name);
- O << "L" << Name << "$stub";
+ O << TAI->getPrivateGlobalPrefix() << Name << "$stub";
return;
}
if (!isCallOp) O << '$';
// piclabel:
// popl %some_register
// addl $_GLOBAL_ADDRESS_TABLE_ + [.-piclabel], %some_register
- O << " + [.-" << computePICLabel(getFunctionNumber(), Subtarget) << "]";
+ O << " + [.-"
+ << computePICLabel(getFunctionNumber(), TAI, Subtarget) << "]";
}
if (isCallOp && Subtarget->isPICStyleGOT())
}
void X86ATTAsmPrinter::printPICLabel(const MachineInstr *MI, unsigned Op) {
- std::string label = computePICLabel(getFunctionNumber(), Subtarget);
+ std::string label = computePICLabel(getFunctionNumber(), TAI, Subtarget);
O << label << "\n" << label << ":";
}