mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-12 13:30:51 +00:00
Add a helper getSymbol to AsmPrinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193627 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a72ec5517f
commit
ffc7dca885
@ -145,6 +145,7 @@ namespace llvm {
|
||||
/// getCurrentSection() - Return the current section we are emitting to.
|
||||
const MCSection *getCurrentSection() const;
|
||||
|
||||
MCSymbol *getSymbol(const GlobalValue *GV) const;
|
||||
|
||||
//===------------------------------------------------------------------===//
|
||||
// MachineFunctionPass Implementation.
|
||||
|
@ -82,7 +82,7 @@ void ARMException::EndFunction() {
|
||||
// Emit references to personality.
|
||||
if (const Function * Personality =
|
||||
MMI->getPersonalities()[MMI->getPersonalityIndex()]) {
|
||||
MCSymbol *PerSym = Asm->Mang->getSymbol(Personality);
|
||||
MCSymbol *PerSym = Asm->getSymbol(Personality);
|
||||
Asm->OutStreamer.EmitSymbolAttribute(PerSym, MCSA_Global);
|
||||
ATS.emitPersonality(PerSym);
|
||||
}
|
||||
|
@ -263,6 +263,9 @@ void AsmPrinter::EmitLinkage(unsigned L, MCSymbol *GVSym) const {
|
||||
llvm_unreachable("Unknown linkage type!");
|
||||
}
|
||||
|
||||
MCSymbol *AsmPrinter::getSymbol(const GlobalValue *GV) const {
|
||||
return Mang->getSymbol(GV);
|
||||
}
|
||||
|
||||
/// EmitGlobalVariable - Emit the specified global variable to the .s file.
|
||||
void AsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) {
|
||||
@ -278,7 +281,7 @@ void AsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) {
|
||||
}
|
||||
}
|
||||
|
||||
MCSymbol *GVSym = Mang->getSymbol(GV);
|
||||
MCSymbol *GVSym = getSymbol(GV);
|
||||
EmitVisibility(GVSym, GV->getVisibility(), !GV->isDeclaration());
|
||||
|
||||
if (!GV->hasInitializer()) // External globals require no extra code.
|
||||
@ -879,7 +882,7 @@ bool AsmPrinter::doFinalization(Module &M) {
|
||||
if (V == GlobalValue::DefaultVisibility)
|
||||
continue;
|
||||
|
||||
MCSymbol *Name = Mang->getSymbol(&F);
|
||||
MCSymbol *Name = getSymbol(&F);
|
||||
EmitVisibility(Name, V, false);
|
||||
}
|
||||
|
||||
@ -919,12 +922,12 @@ bool AsmPrinter::doFinalization(Module &M) {
|
||||
for (Module::const_global_iterator I = M.global_begin(), E = M.global_end();
|
||||
I != E; ++I) {
|
||||
if (!I->hasExternalWeakLinkage()) continue;
|
||||
OutStreamer.EmitSymbolAttribute(Mang->getSymbol(I), MCSA_WeakReference);
|
||||
OutStreamer.EmitSymbolAttribute(getSymbol(I), MCSA_WeakReference);
|
||||
}
|
||||
|
||||
for (Module::const_iterator I = M.begin(), E = M.end(); I != E; ++I) {
|
||||
if (!I->hasExternalWeakLinkage()) continue;
|
||||
OutStreamer.EmitSymbolAttribute(Mang->getSymbol(I), MCSA_WeakReference);
|
||||
OutStreamer.EmitSymbolAttribute(getSymbol(I), MCSA_WeakReference);
|
||||
}
|
||||
}
|
||||
|
||||
@ -932,10 +935,10 @@ bool AsmPrinter::doFinalization(Module &M) {
|
||||
OutStreamer.AddBlankLine();
|
||||
for (Module::const_alias_iterator I = M.alias_begin(), E = M.alias_end();
|
||||
I != E; ++I) {
|
||||
MCSymbol *Name = Mang->getSymbol(I);
|
||||
MCSymbol *Name = getSymbol(I);
|
||||
|
||||
const GlobalValue *GV = I->getAliasedGlobal();
|
||||
MCSymbol *Target = Mang->getSymbol(GV);
|
||||
MCSymbol *Target = getSymbol(GV);
|
||||
|
||||
if (I->hasExternalLinkage() || !MAI->getWeakRefDirective())
|
||||
OutStreamer.EmitSymbolAttribute(Name, MCSA_Global);
|
||||
@ -984,7 +987,7 @@ bool AsmPrinter::doFinalization(Module &M) {
|
||||
void AsmPrinter::SetupMachineFunction(MachineFunction &MF) {
|
||||
this->MF = &MF;
|
||||
// Get the function symbol.
|
||||
CurrentFnSym = Mang->getSymbol(MF.getFunction());
|
||||
CurrentFnSym = getSymbol(MF.getFunction());
|
||||
CurrentFnSymForSize = CurrentFnSym;
|
||||
|
||||
if (isVerbose())
|
||||
@ -1291,7 +1294,7 @@ void AsmPrinter::EmitLLVMUsedList(const ConstantArray *InitList) {
|
||||
const GlobalValue *GV =
|
||||
dyn_cast<GlobalValue>(InitList->getOperand(i)->stripPointerCasts());
|
||||
if (GV && getObjFileLowering().shouldEmitUsedDirectiveFor(GV, Mang))
|
||||
OutStreamer.EmitSymbolAttribute(Mang->getSymbol(GV), MCSA_NoDeadStrip);
|
||||
OutStreamer.EmitSymbolAttribute(getSymbol(GV), MCSA_NoDeadStrip);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1486,7 +1489,7 @@ static const MCExpr *lowerConstant(const Constant *CV, AsmPrinter &AP) {
|
||||
return MCConstantExpr::Create(CI->getZExtValue(), Ctx);
|
||||
|
||||
if (const GlobalValue *GV = dyn_cast<GlobalValue>(CV))
|
||||
return MCSymbolRefExpr::Create(AP.Mang->getSymbol(GV), Ctx);
|
||||
return MCSymbolRefExpr::Create(AP.getSymbol(GV), Ctx);
|
||||
|
||||
if (const BlockAddress *BA = dyn_cast<BlockAddress>(CV))
|
||||
return MCSymbolRefExpr::Create(AP.GetBlockAddressSymbol(BA), Ctx);
|
||||
|
@ -68,7 +68,7 @@ void DwarfCFIException::EndModule() {
|
||||
for (size_t i = 0, e = Personalities.size(); i != e; ++i) {
|
||||
if (!Personalities[i])
|
||||
continue;
|
||||
MCSymbol *Sym = Asm->Mang->getSymbol(Personalities[i]);
|
||||
MCSymbol *Sym = Asm->getSymbol(Personalities[i]);
|
||||
TLOF.emitPersonalityValue(Asm->OutStreamer, Asm->TM, Sym);
|
||||
AtLeastOne = true;
|
||||
}
|
||||
|
@ -1308,7 +1308,7 @@ CompileUnit::constructTemplateValueParameterDIE(DIE &Buffer,
|
||||
// For declaration non-type template parameters (such as global values and
|
||||
// functions)
|
||||
DIEBlock *Block = new (DIEValueAllocator) DIEBlock();
|
||||
addOpAddress(Block, Asm->Mang->getSymbol(GV));
|
||||
addOpAddress(Block, Asm->getSymbol(GV));
|
||||
// Emit DW_OP_stack_value to use the address as the immediate value of the
|
||||
// parameter, rather than a pointer to it.
|
||||
addUInt(Block, dwarf::DW_FORM_data1, dwarf::DW_OP_stack_value);
|
||||
@ -1541,7 +1541,7 @@ void CompileUnit::createGlobalVariableDIE(const MDNode *N) {
|
||||
if (isGlobalVariable) {
|
||||
addToAccelTable = true;
|
||||
DIEBlock *Block = new (DIEValueAllocator) DIEBlock();
|
||||
const MCSymbol *Sym = Asm->Mang->getSymbol(GV.getGlobal());
|
||||
const MCSymbol *Sym = Asm->getSymbol(GV.getGlobal());
|
||||
if (GV.getGlobal()->isThreadLocal()) {
|
||||
// FIXME: Make this work with -gsplit-dwarf.
|
||||
unsigned PointerSize = Asm->getDataLayout().getPointerSize();
|
||||
@ -1601,7 +1601,7 @@ void CompileUnit::createGlobalVariableDIE(const MDNode *N) {
|
||||
// GV is a merged global.
|
||||
DIEBlock *Block = new (DIEValueAllocator) DIEBlock();
|
||||
Value *Ptr = CE->getOperand(0);
|
||||
addOpAddress(Block, Asm->Mang->getSymbol(cast<GlobalValue>(Ptr)));
|
||||
addOpAddress(Block, Asm->getSymbol(cast<GlobalValue>(Ptr)));
|
||||
addUInt(Block, dwarf::DW_FORM_data1, dwarf::DW_OP_constu);
|
||||
SmallVector<Value *, 3> Idx(CE->op_begin() + 1, CE->op_end());
|
||||
addUInt(Block, dwarf::DW_FORM_udata,
|
||||
|
@ -84,7 +84,7 @@ bool AArch64AsmPrinter::printSymbolicAddress(const MachineOperand &MO,
|
||||
default:
|
||||
llvm_unreachable("Unexpected operand for symbolic address constraint");
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
Name = Mang->getSymbol(MO.getGlobal())->getName();
|
||||
Name = getSymbol(MO.getGlobal())->getName();
|
||||
|
||||
// Global variables may be accessed either via a GOT or in various fun and
|
||||
// interesting TLS-model specific ways. Set the prefix modifier as
|
||||
|
@ -121,7 +121,7 @@ bool AArch64AsmPrinter::lowerOperand(const MachineOperand &MO,
|
||||
MCOp = lowerSymbolOperand(MO, GetExternalSymbolSymbol(MO.getSymbolName()));
|
||||
break;
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
MCOp = lowerSymbolOperand(MO, Mang->getSymbol(MO.getGlobal()));
|
||||
MCOp = lowerSymbolOperand(MO, getSymbol(MO.getGlobal()));
|
||||
break;
|
||||
case MachineOperand::MO_MachineBasicBlock:
|
||||
MCOp = MCOperand::CreateExpr(MCSymbolRefExpr::Create(
|
||||
|
@ -145,7 +145,7 @@ void ARMAsmPrinter::EmitXXStructor(const Constant *CV) {
|
||||
const GlobalValue *GV = dyn_cast<GlobalValue>(CV->stripPointerCasts());
|
||||
assert(GV && "C++ constructor pointer was not a GlobalValue!");
|
||||
|
||||
const MCExpr *E = MCSymbolRefExpr::Create(Mang->getSymbol(GV),
|
||||
const MCExpr *E = MCSymbolRefExpr::Create(getSymbol(GV),
|
||||
(Subtarget->isTargetDarwin()
|
||||
? MCSymbolRefExpr::VK_None
|
||||
: MCSymbolRefExpr::VK_ARM_TARGET1),
|
||||
@ -206,7 +206,7 @@ void ARMAsmPrinter::printOperand(const MachineInstr *MI, int OpNum,
|
||||
else if ((Modifier && strcmp(Modifier, "hi16") == 0) ||
|
||||
(TF & ARMII::MO_HI16))
|
||||
O << ":upper16:";
|
||||
O << *Mang->getSymbol(GV);
|
||||
O << *getSymbol(GV);
|
||||
|
||||
printOffset(MO.getOffset(), O);
|
||||
if (TF == ARMII::MO_PLT)
|
||||
@ -758,7 +758,7 @@ MCSymbol *ARMAsmPrinter::GetARMGVSymbol(const GlobalValue *GV) {
|
||||
bool isIndirect = Subtarget->isTargetDarwin() &&
|
||||
Subtarget->GVIsIndirectSymbol(GV, TM.getRelocationModel());
|
||||
if (!isIndirect)
|
||||
return Mang->getSymbol(GV);
|
||||
return getSymbol(GV);
|
||||
|
||||
// FIXME: Remove this when Darwin transition to @GOT like syntax.
|
||||
MCSymbol *MCSym = GetSymbolWithGlobalValueBase(GV, "$non_lazy_ptr");
|
||||
@ -769,7 +769,7 @@ MCSymbol *ARMAsmPrinter::GetARMGVSymbol(const GlobalValue *GV) {
|
||||
MMIMachO.getGVStubEntry(MCSym);
|
||||
if (StubSym.getPointer() == 0)
|
||||
StubSym = MachineModuleInfoImpl::
|
||||
StubValueTy(Mang->getSymbol(GV), !GV->hasInternalLinkage());
|
||||
StubValueTy(getSymbol(GV), !GV->hasInternalLinkage());
|
||||
return MCSym;
|
||||
}
|
||||
|
||||
@ -1203,7 +1203,7 @@ void ARMAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
.addReg(0));
|
||||
|
||||
const GlobalValue *GV = MI->getOperand(0).getGlobal();
|
||||
MCSymbol *GVSym = Mang->getSymbol(GV);
|
||||
MCSymbol *GVSym = getSymbol(GV);
|
||||
const MCExpr *GVSymExpr = MCSymbolRefExpr::Create(GVSym, OutContext);
|
||||
OutStreamer.EmitInstruction(MCInstBuilder(ARM::Bcc)
|
||||
.addExpr(GVSymExpr)
|
||||
|
@ -82,7 +82,7 @@ bool ARMAsmPrinter::lowerOperand(const MachineOperand &MO,
|
||||
MO.getMBB()->getSymbol(), OutContext));
|
||||
break;
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
MCOp = GetSymbolRef(MO, Mang->getSymbol(MO.getGlobal()));
|
||||
MCOp = GetSymbolRef(MO, getSymbol(MO.getGlobal()));
|
||||
break;
|
||||
case MachineOperand::MO_ExternalSymbol:
|
||||
MCOp = GetSymbolRef(MO,
|
||||
|
@ -99,7 +99,7 @@ void HexagonAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo,
|
||||
return;
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
// Computing the address of a global symbol, not calling it.
|
||||
O << *Mang->getSymbol(MO.getGlobal());
|
||||
O << *getSymbol(MO.getGlobal());
|
||||
printOffset(MO.getOffset(), O);
|
||||
return;
|
||||
}
|
||||
@ -267,7 +267,7 @@ void HexagonAsmPrinter::printGlobalOperand(const MachineInstr *MI, int OpNo,
|
||||
assert( (MO.getType() == MachineOperand::MO_GlobalAddress) &&
|
||||
"Expecting global address");
|
||||
|
||||
O << *Mang->getSymbol(MO.getGlobal());
|
||||
O << *getSymbol(MO.getGlobal());
|
||||
if (MO.getOffset() != 0) {
|
||||
O << " + ";
|
||||
O << MO.getOffset();
|
||||
|
@ -73,7 +73,7 @@ void llvm::HexagonLowerToMC(const MachineInstr* MI, HexagonMCInst& MCI,
|
||||
AP.OutContext));
|
||||
break;
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
MCO = GetSymbolRef(MO, AP.Mang->getSymbol(MO.getGlobal()), AP);
|
||||
MCO = GetSymbolRef(MO, AP.getSymbol(MO.getGlobal()), AP);
|
||||
break;
|
||||
case MachineOperand::MO_ExternalSymbol:
|
||||
MCO = GetSymbolRef(MO, AP.GetExternalSymbolSymbol(MO.getSymbolName()),
|
||||
|
@ -92,7 +92,7 @@ void MSP430AsmPrinter::printOperand(const MachineInstr *MI, int OpNum,
|
||||
if (Offset)
|
||||
O << '(' << Offset << '+';
|
||||
|
||||
O << *Mang->getSymbol(MO.getGlobal());
|
||||
O << *getSymbol(MO.getGlobal());
|
||||
|
||||
if (Offset)
|
||||
O << ')';
|
||||
|
@ -33,7 +33,7 @@ GetGlobalAddressSymbol(const MachineOperand &MO) const {
|
||||
case 0: break;
|
||||
}
|
||||
|
||||
return Printer.Mang->getSymbol(MO.getGlobal());
|
||||
return Printer.getSymbol(MO.getGlobal());
|
||||
}
|
||||
|
||||
MCSymbol *MSP430MCInstLower::
|
||||
|
@ -528,7 +528,7 @@ void MipsAsmPrinter::printOperand(const MachineInstr *MI, int opNum,
|
||||
return;
|
||||
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
O << *Mang->getSymbol(MO.getGlobal());
|
||||
O << *getSymbol(MO.getGlobal());
|
||||
break;
|
||||
|
||||
case MachineOperand::MO_BlockAddress: {
|
||||
|
@ -73,7 +73,7 @@ MCOperand MipsMCInstLower::LowerSymbolOperand(const MachineOperand &MO,
|
||||
break;
|
||||
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
Symbol = AsmPrinter.Mang->getSymbol(MO.getGlobal());
|
||||
Symbol = AsmPrinter.getSymbol(MO.getGlobal());
|
||||
Offset += MO.getOffset();
|
||||
break;
|
||||
|
||||
|
@ -126,7 +126,7 @@ const MCExpr *nvptx::LowerConstant(const Constant *CV, AsmPrinter &AP) {
|
||||
return MCConstantExpr::Create(CI->getZExtValue(), Ctx);
|
||||
|
||||
if (const GlobalValue *GV = dyn_cast<GlobalValue>(CV))
|
||||
return MCSymbolRefExpr::Create(AP.Mang->getSymbol(GV), Ctx);
|
||||
return MCSymbolRefExpr::Create(AP.getSymbol(GV), Ctx);
|
||||
|
||||
if (const BlockAddress *BA = dyn_cast<BlockAddress>(CV))
|
||||
return MCSymbolRefExpr::Create(AP.GetBlockAddressSymbol(BA), Ctx);
|
||||
@ -341,7 +341,7 @@ bool NVPTXAsmPrinter::lowerOperand(const MachineOperand &MO,
|
||||
MCOp = GetSymbolRef(MO, GetExternalSymbolSymbol(MO.getSymbolName()));
|
||||
break;
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
MCOp = GetSymbolRef(MO, Mang->getSymbol(MO.getGlobal()));
|
||||
MCOp = GetSymbolRef(MO, getSymbol(MO.getGlobal()));
|
||||
break;
|
||||
case MachineOperand::MO_FPImmediate: {
|
||||
const ConstantFP *Cnt = MO.getFPImm();
|
||||
@ -677,7 +677,7 @@ void NVPTXAsmPrinter::emitDeclaration(const Function *F, raw_ostream &O) {
|
||||
else
|
||||
O << ".func ";
|
||||
printReturnValStr(F, O);
|
||||
O << *Mang->getSymbol(F) << "\n";
|
||||
O << *getSymbol(F) << "\n";
|
||||
emitFunctionParamList(F, O);
|
||||
O << ";\n";
|
||||
}
|
||||
@ -1207,7 +1207,7 @@ void NVPTXAsmPrinter::printModuleLevelGV(const GlobalVariable *GVar,
|
||||
else
|
||||
O << getPTXFundamentalTypeStr(ETy, false);
|
||||
O << " ";
|
||||
O << *Mang->getSymbol(GVar);
|
||||
O << *getSymbol(GVar);
|
||||
|
||||
// Ptx allows variable initilization only for constant and global state
|
||||
// spaces.
|
||||
@ -1243,15 +1243,15 @@ void NVPTXAsmPrinter::printModuleLevelGV(const GlobalVariable *GVar,
|
||||
bufferAggregateConstant(Initializer, &aggBuffer);
|
||||
if (aggBuffer.numSymbols) {
|
||||
if (nvptxSubtarget.is64Bit()) {
|
||||
O << " .u64 " << *Mang->getSymbol(GVar) << "[";
|
||||
O << " .u64 " << *getSymbol(GVar) << "[";
|
||||
O << ElementSize / 8;
|
||||
} else {
|
||||
O << " .u32 " << *Mang->getSymbol(GVar) << "[";
|
||||
O << " .u32 " << *getSymbol(GVar) << "[";
|
||||
O << ElementSize / 4;
|
||||
}
|
||||
O << "]";
|
||||
} else {
|
||||
O << " .b8 " << *Mang->getSymbol(GVar) << "[";
|
||||
O << " .b8 " << *getSymbol(GVar) << "[";
|
||||
O << ElementSize;
|
||||
O << "]";
|
||||
}
|
||||
@ -1259,7 +1259,7 @@ void NVPTXAsmPrinter::printModuleLevelGV(const GlobalVariable *GVar,
|
||||
aggBuffer.print();
|
||||
O << "}";
|
||||
} else {
|
||||
O << " .b8 " << *Mang->getSymbol(GVar);
|
||||
O << " .b8 " << *getSymbol(GVar);
|
||||
if (ElementSize) {
|
||||
O << "[";
|
||||
O << ElementSize;
|
||||
@ -1267,7 +1267,7 @@ void NVPTXAsmPrinter::printModuleLevelGV(const GlobalVariable *GVar,
|
||||
}
|
||||
}
|
||||
} else {
|
||||
O << " .b8 " << *Mang->getSymbol(GVar);
|
||||
O << " .b8 " << *getSymbol(GVar);
|
||||
if (ElementSize) {
|
||||
O << "[";
|
||||
O << ElementSize;
|
||||
@ -1374,7 +1374,7 @@ void NVPTXAsmPrinter::emitPTXGlobalVariable(const GlobalVariable *GVar,
|
||||
O << " .";
|
||||
O << getPTXFundamentalTypeStr(ETy);
|
||||
O << " ";
|
||||
O << *Mang->getSymbol(GVar);
|
||||
O << *getSymbol(GVar);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1389,7 +1389,7 @@ void NVPTXAsmPrinter::emitPTXGlobalVariable(const GlobalVariable *GVar,
|
||||
case Type::ArrayTyID:
|
||||
case Type::VectorTyID:
|
||||
ElementSize = TD->getTypeStoreSize(ETy);
|
||||
O << " .b8 " << *Mang->getSymbol(GVar) << "[";
|
||||
O << " .b8 " << *getSymbol(GVar) << "[";
|
||||
if (ElementSize) {
|
||||
O << itostr(ElementSize);
|
||||
}
|
||||
@ -1444,7 +1444,7 @@ void NVPTXAsmPrinter::printParamName(Function::const_arg_iterator I,
|
||||
int paramIndex, raw_ostream &O) {
|
||||
if ((nvptxSubtarget.getDrvInterface() == NVPTX::NVCL) ||
|
||||
(nvptxSubtarget.getDrvInterface() == NVPTX::CUDA))
|
||||
O << *Mang->getSymbol(I->getParent()) << "_param_" << paramIndex;
|
||||
O << *getSymbol(I->getParent()) << "_param_" << paramIndex;
|
||||
else {
|
||||
std::string argName = I->getName();
|
||||
const char *p = argName.c_str();
|
||||
@ -1503,13 +1503,13 @@ void NVPTXAsmPrinter::emitFunctionParamList(const Function *F, raw_ostream &O) {
|
||||
if (llvm::isImage(*I)) {
|
||||
std::string sname = I->getName();
|
||||
if (llvm::isImageWriteOnly(*I))
|
||||
O << "\t.param .surfref " << *Mang->getSymbol(F) << "_param_"
|
||||
O << "\t.param .surfref " << *getSymbol(F) << "_param_"
|
||||
<< paramIndex;
|
||||
else // Default image is read_only
|
||||
O << "\t.param .texref " << *Mang->getSymbol(F) << "_param_"
|
||||
O << "\t.param .texref " << *getSymbol(F) << "_param_"
|
||||
<< paramIndex;
|
||||
} else // Should be llvm::isSampler(*I)
|
||||
O << "\t.param .samplerref " << *Mang->getSymbol(F) << "_param_"
|
||||
O << "\t.param .samplerref " << *getSymbol(F) << "_param_"
|
||||
<< paramIndex;
|
||||
continue;
|
||||
}
|
||||
@ -1756,13 +1756,13 @@ void NVPTXAsmPrinter::printScalarConstant(const Constant *CPV, raw_ostream &O) {
|
||||
return;
|
||||
}
|
||||
if (const GlobalValue *GVar = dyn_cast<GlobalValue>(CPV)) {
|
||||
O << *Mang->getSymbol(GVar);
|
||||
O << *getSymbol(GVar);
|
||||
return;
|
||||
}
|
||||
if (const ConstantExpr *Cexpr = dyn_cast<ConstantExpr>(CPV)) {
|
||||
const Value *v = Cexpr->stripPointerCasts();
|
||||
if (const GlobalValue *GVar = dyn_cast<GlobalValue>(v)) {
|
||||
O << *Mang->getSymbol(GVar);
|
||||
O << *getSymbol(GVar);
|
||||
return;
|
||||
} else {
|
||||
O << *LowerConstant(CPV, *this);
|
||||
@ -2076,7 +2076,7 @@ void NVPTXAsmPrinter::printOperand(const MachineInstr *MI, int opNum,
|
||||
break;
|
||||
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
O << *Mang->getSymbol(MO.getGlobal());
|
||||
O << *getSymbol(MO.getGlobal());
|
||||
break;
|
||||
|
||||
case MachineOperand::MO_ExternalSymbol: {
|
||||
|
@ -155,7 +155,7 @@ class LLVM_LIBRARY_VISIBILITY NVPTXAsmPrinter : public AsmPrinter {
|
||||
if (pos == nextSymbolPos) {
|
||||
const Value *v = Symbols[nSym];
|
||||
if (const GlobalValue *GVar = dyn_cast<GlobalValue>(v)) {
|
||||
MCSymbol *Name = AP.Mang->getSymbol(GVar);
|
||||
MCSymbol *Name = AP.getSymbol(GVar);
|
||||
O << *Name;
|
||||
} else if (const ConstantExpr *Cexpr = dyn_cast<ConstantExpr>(v)) {
|
||||
O << *nvptx::LowerConstant(Cexpr, AP);
|
||||
|
@ -203,7 +203,7 @@ void PPCAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo,
|
||||
.getGVStubEntry(SymToPrint);
|
||||
if (StubSym.getPointer() == 0)
|
||||
StubSym = MachineModuleInfoImpl::
|
||||
StubValueTy(Mang->getSymbol(GV), !GV->hasInternalLinkage());
|
||||
StubValueTy(getSymbol(GV), !GV->hasInternalLinkage());
|
||||
} else if (GV->isDeclaration() || GV->hasCommonLinkage() ||
|
||||
GV->hasAvailableExternallyLinkage()) {
|
||||
SymToPrint = GetSymbolWithGlobalValueBase(GV, "$non_lazy_ptr");
|
||||
@ -213,12 +213,12 @@ void PPCAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo,
|
||||
getHiddenGVStubEntry(SymToPrint);
|
||||
if (StubSym.getPointer() == 0)
|
||||
StubSym = MachineModuleInfoImpl::
|
||||
StubValueTy(Mang->getSymbol(GV), !GV->hasInternalLinkage());
|
||||
StubValueTy(getSymbol(GV), !GV->hasInternalLinkage());
|
||||
} else {
|
||||
SymToPrint = Mang->getSymbol(GV);
|
||||
SymToPrint = getSymbol(GV);
|
||||
}
|
||||
} else {
|
||||
SymToPrint = Mang->getSymbol(GV);
|
||||
SymToPrint = getSymbol(GV);
|
||||
}
|
||||
|
||||
O << *SymToPrint;
|
||||
@ -364,7 +364,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
assert(MO.isGlobal() || MO.isCPI() || MO.isJTI());
|
||||
MCSymbol *MOSymbol = 0;
|
||||
if (MO.isGlobal())
|
||||
MOSymbol = Mang->getSymbol(MO.getGlobal());
|
||||
MOSymbol = getSymbol(MO.getGlobal());
|
||||
else if (MO.isCPI())
|
||||
MOSymbol = GetCPISymbol(MO.getIndex());
|
||||
else if (MO.isJTI())
|
||||
@ -403,7 +403,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
const GlobalAlias *GAlias = dyn_cast<GlobalAlias>(GValue);
|
||||
const GlobalValue *RealGValue = GAlias ?
|
||||
GAlias->resolveAliasedGlobal(false) : GValue;
|
||||
MOSymbol = Mang->getSymbol(RealGValue);
|
||||
MOSymbol = getSymbol(RealGValue);
|
||||
const GlobalVariable *GVar = dyn_cast<GlobalVariable>(RealGValue);
|
||||
IsExternal = GVar && !GVar->hasInitializer();
|
||||
IsCommon = GVar && RealGValue->hasCommonLinkage();
|
||||
@ -450,7 +450,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
const GlobalAlias *GAlias = dyn_cast<GlobalAlias>(GValue);
|
||||
const GlobalValue *RealGValue = GAlias ?
|
||||
GAlias->resolveAliasedGlobal(false) : GValue;
|
||||
MOSymbol = Mang->getSymbol(RealGValue);
|
||||
MOSymbol = getSymbol(RealGValue);
|
||||
const GlobalVariable *GVar = dyn_cast<GlobalVariable>(RealGValue);
|
||||
|
||||
if (!GVar || !GVar->hasInitializer() || RealGValue->hasCommonLinkage() ||
|
||||
@ -485,7 +485,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
const GlobalAlias *GAlias = dyn_cast<GlobalAlias>(GValue);
|
||||
const GlobalValue *RealGValue = GAlias ?
|
||||
GAlias->resolveAliasedGlobal(false) : GValue;
|
||||
MOSymbol = Mang->getSymbol(RealGValue);
|
||||
MOSymbol = getSymbol(RealGValue);
|
||||
const GlobalVariable *GVar = dyn_cast<GlobalVariable>(RealGValue);
|
||||
IsExternal = GVar && !GVar->hasInitializer();
|
||||
IsFunction = !GVar;
|
||||
@ -508,7 +508,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
assert(Subtarget.isPPC64() && "Not supported for 32-bit PowerPC");
|
||||
const MachineOperand &MO = MI->getOperand(2);
|
||||
const GlobalValue *GValue = MO.getGlobal();
|
||||
MCSymbol *MOSymbol = Mang->getSymbol(GValue);
|
||||
MCSymbol *MOSymbol = getSymbol(GValue);
|
||||
const MCExpr *SymGotTprel =
|
||||
MCSymbolRefExpr::Create(MOSymbol, MCSymbolRefExpr::VK_PPC_GOT_TPREL_HA,
|
||||
OutContext);
|
||||
@ -526,7 +526,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
TmpInst.setOpcode(PPC::LD);
|
||||
const MachineOperand &MO = MI->getOperand(1);
|
||||
const GlobalValue *GValue = MO.getGlobal();
|
||||
MCSymbol *MOSymbol = Mang->getSymbol(GValue);
|
||||
MCSymbol *MOSymbol = getSymbol(GValue);
|
||||
const MCExpr *Exp =
|
||||
MCSymbolRefExpr::Create(MOSymbol, MCSymbolRefExpr::VK_PPC_GOT_TPREL_LO,
|
||||
OutContext);
|
||||
@ -540,7 +540,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
assert(Subtarget.isPPC64() && "Not supported for 32-bit PowerPC");
|
||||
const MachineOperand &MO = MI->getOperand(2);
|
||||
const GlobalValue *GValue = MO.getGlobal();
|
||||
MCSymbol *MOSymbol = Mang->getSymbol(GValue);
|
||||
MCSymbol *MOSymbol = getSymbol(GValue);
|
||||
const MCExpr *SymGotTlsGD =
|
||||
MCSymbolRefExpr::Create(MOSymbol, MCSymbolRefExpr::VK_PPC_GOT_TLSGD_HA,
|
||||
OutContext);
|
||||
@ -556,7 +556,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
assert(Subtarget.isPPC64() && "Not supported for 32-bit PowerPC");
|
||||
const MachineOperand &MO = MI->getOperand(2);
|
||||
const GlobalValue *GValue = MO.getGlobal();
|
||||
MCSymbol *MOSymbol = Mang->getSymbol(GValue);
|
||||
MCSymbol *MOSymbol = getSymbol(GValue);
|
||||
const MCExpr *SymGotTlsGD =
|
||||
MCSymbolRefExpr::Create(MOSymbol, MCSymbolRefExpr::VK_PPC_GOT_TLSGD_LO,
|
||||
OutContext);
|
||||
@ -577,7 +577,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
MCSymbolRefExpr::Create(TlsGetAddr, MCSymbolRefExpr::VK_None, OutContext);
|
||||
const MachineOperand &MO = MI->getOperand(2);
|
||||
const GlobalValue *GValue = MO.getGlobal();
|
||||
MCSymbol *MOSymbol = Mang->getSymbol(GValue);
|
||||
MCSymbol *MOSymbol = getSymbol(GValue);
|
||||
const MCExpr *SymVar =
|
||||
MCSymbolRefExpr::Create(MOSymbol, MCSymbolRefExpr::VK_PPC_TLSGD,
|
||||
OutContext);
|
||||
@ -592,7 +592,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
assert(Subtarget.isPPC64() && "Not supported for 32-bit PowerPC");
|
||||
const MachineOperand &MO = MI->getOperand(2);
|
||||
const GlobalValue *GValue = MO.getGlobal();
|
||||
MCSymbol *MOSymbol = Mang->getSymbol(GValue);
|
||||
MCSymbol *MOSymbol = getSymbol(GValue);
|
||||
const MCExpr *SymGotTlsLD =
|
||||
MCSymbolRefExpr::Create(MOSymbol, MCSymbolRefExpr::VK_PPC_GOT_TLSLD_HA,
|
||||
OutContext);
|
||||
@ -608,7 +608,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
assert(Subtarget.isPPC64() && "Not supported for 32-bit PowerPC");
|
||||
const MachineOperand &MO = MI->getOperand(2);
|
||||
const GlobalValue *GValue = MO.getGlobal();
|
||||
MCSymbol *MOSymbol = Mang->getSymbol(GValue);
|
||||
MCSymbol *MOSymbol = getSymbol(GValue);
|
||||
const MCExpr *SymGotTlsLD =
|
||||
MCSymbolRefExpr::Create(MOSymbol, MCSymbolRefExpr::VK_PPC_GOT_TLSLD_LO,
|
||||
OutContext);
|
||||
@ -629,7 +629,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
MCSymbolRefExpr::Create(TlsGetAddr, MCSymbolRefExpr::VK_None, OutContext);
|
||||
const MachineOperand &MO = MI->getOperand(2);
|
||||
const GlobalValue *GValue = MO.getGlobal();
|
||||
MCSymbol *MOSymbol = Mang->getSymbol(GValue);
|
||||
MCSymbol *MOSymbol = getSymbol(GValue);
|
||||
const MCExpr *SymVar =
|
||||
MCSymbolRefExpr::Create(MOSymbol, MCSymbolRefExpr::VK_PPC_TLSLD,
|
||||
OutContext);
|
||||
@ -644,7 +644,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
assert(Subtarget.isPPC64() && "Not supported for 32-bit PowerPC");
|
||||
const MachineOperand &MO = MI->getOperand(2);
|
||||
const GlobalValue *GValue = MO.getGlobal();
|
||||
MCSymbol *MOSymbol = Mang->getSymbol(GValue);
|
||||
MCSymbol *MOSymbol = getSymbol(GValue);
|
||||
const MCExpr *SymDtprel =
|
||||
MCSymbolRefExpr::Create(MOSymbol, MCSymbolRefExpr::VK_PPC_DTPREL_HA,
|
||||
OutContext);
|
||||
@ -660,7 +660,7 @@ void PPCAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
assert(Subtarget.isPPC64() && "Not supported for 32-bit PowerPC");
|
||||
const MachineOperand &MO = MI->getOperand(2);
|
||||
const GlobalValue *GValue = MO.getGlobal();
|
||||
MCSymbol *MOSymbol = Mang->getSymbol(GValue);
|
||||
MCSymbol *MOSymbol = getSymbol(GValue);
|
||||
const MCExpr *SymDtprel =
|
||||
MCSymbolRefExpr::Create(MOSymbol, MCSymbolRefExpr::VK_PPC_DTPREL_LO,
|
||||
OutContext);
|
||||
@ -1061,7 +1061,7 @@ bool PPCDarwinAsmPrinter::doFinalization(Module &M) {
|
||||
MCSymbol *NLPSym = GetSymbolWithGlobalValueBase(*I, "$non_lazy_ptr");
|
||||
MachineModuleInfoImpl::StubValueTy &StubSym =
|
||||
MMIMacho.getGVStubEntry(NLPSym);
|
||||
StubSym = MachineModuleInfoImpl::StubValueTy(Mang->getSymbol(*I), true);
|
||||
StubSym = MachineModuleInfoImpl::StubValueTy(getSymbol(*I), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -69,7 +69,7 @@ static MCSymbol *GetSymbolFromOperand(const MachineOperand &MO, AsmPrinter &AP){
|
||||
if (MO.isGlobal()) {
|
||||
StubSym =
|
||||
MachineModuleInfoImpl::
|
||||
StubValueTy(AP.Mang->getSymbol(MO.getGlobal()),
|
||||
StubValueTy(AP.getSymbol(MO.getGlobal()),
|
||||
!MO.getGlobal()->hasInternalLinkage());
|
||||
} else {
|
||||
Name.erase(Name.end()-5, Name.end());
|
||||
@ -95,7 +95,7 @@ static MCSymbol *GetSymbolFromOperand(const MachineOperand &MO, AsmPrinter &AP){
|
||||
if (StubSym.getPointer() == 0) {
|
||||
assert(MO.isGlobal() && "Extern symbol not handled yet");
|
||||
StubSym = MachineModuleInfoImpl::
|
||||
StubValueTy(AP.Mang->getSymbol(MO.getGlobal()),
|
||||
StubValueTy(AP.getSymbol(MO.getGlobal()),
|
||||
!MO.getGlobal()->hasInternalLinkage());
|
||||
}
|
||||
return Sym;
|
||||
|
@ -186,7 +186,7 @@ void SparcAsmPrinter::printOperand(const MachineInstr *MI, int opNum,
|
||||
O << *MO.getMBB()->getSymbol();
|
||||
return;
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
O << *Mang->getSymbol(MO.getGlobal());
|
||||
O << *getSymbol(MO.getGlobal());
|
||||
break;
|
||||
case MachineOperand::MO_BlockAddress:
|
||||
O << GetBlockAddressSymbol(MO.getBlockAddress())->getName();
|
||||
|
@ -160,7 +160,7 @@ EmitMachineConstantPoolValue(MachineConstantPoolValue *MCPV) {
|
||||
static_cast<SystemZConstantPoolValue*>(MCPV);
|
||||
|
||||
const MCExpr *Expr =
|
||||
MCSymbolRefExpr::Create(Mang->getSymbol(ZCPV->getGlobalValue()),
|
||||
MCSymbolRefExpr::Create(getSymbol(ZCPV->getGlobalValue()),
|
||||
getModifierVariantKind(ZCPV->getModifier()),
|
||||
OutContext);
|
||||
uint64_t Size = TM.getDataLayout()->getTypeAllocSize(ZCPV->getType());
|
||||
|
@ -42,7 +42,7 @@ SystemZMCInstLower::getExpr(const MachineOperand &MO,
|
||||
break;
|
||||
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
Symbol = AsmPrinter.Mang->getSymbol(MO.getGlobal());
|
||||
Symbol = AsmPrinter.getSymbol(MO.getGlobal());
|
||||
break;
|
||||
|
||||
case MachineOperand::MO_ExternalSymbol:
|
||||
|
@ -96,7 +96,7 @@ void X86AsmPrinter::printSymbolOperand(const MachineOperand &MO,
|
||||
MO.getTargetFlags() == X86II::MO_DARWIN_HIDDEN_NONLAZY_PIC_BASE)
|
||||
GVSym = GetSymbolWithGlobalValueBase(GV, "$non_lazy_ptr");
|
||||
else
|
||||
GVSym = Mang->getSymbol(GV);
|
||||
GVSym = getSymbol(GV);
|
||||
|
||||
// Handle dllimport linkage.
|
||||
if (MO.getTargetFlags() == X86II::MO_DLLIMPORT)
|
||||
@ -109,21 +109,21 @@ void X86AsmPrinter::printSymbolOperand(const MachineOperand &MO,
|
||||
MMI->getObjFileInfo<MachineModuleInfoMachO>().getGVStubEntry(Sym);
|
||||
if (StubSym.getPointer() == 0)
|
||||
StubSym = MachineModuleInfoImpl::
|
||||
StubValueTy(Mang->getSymbol(GV), !GV->hasInternalLinkage());
|
||||
StubValueTy(getSymbol(GV), !GV->hasInternalLinkage());
|
||||
} else if (MO.getTargetFlags() == X86II::MO_DARWIN_HIDDEN_NONLAZY_PIC_BASE){
|
||||
MCSymbol *Sym = GetSymbolWithGlobalValueBase(GV, "$non_lazy_ptr");
|
||||
MachineModuleInfoImpl::StubValueTy &StubSym =
|
||||
MMI->getObjFileInfo<MachineModuleInfoMachO>().getHiddenGVStubEntry(Sym);
|
||||
if (StubSym.getPointer() == 0)
|
||||
StubSym = MachineModuleInfoImpl::
|
||||
StubValueTy(Mang->getSymbol(GV), !GV->hasInternalLinkage());
|
||||
StubValueTy(getSymbol(GV), !GV->hasInternalLinkage());
|
||||
} else if (MO.getTargetFlags() == X86II::MO_DARWIN_STUB) {
|
||||
MCSymbol *Sym = GetSymbolWithGlobalValueBase(GV, "$stub");
|
||||
MachineModuleInfoImpl::StubValueTy &StubSym =
|
||||
MMI->getObjFileInfo<MachineModuleInfoMachO>().getFnStubEntry(Sym);
|
||||
if (StubSym.getPointer() == 0)
|
||||
StubSym = MachineModuleInfoImpl::
|
||||
StubValueTy(Mang->getSymbol(GV), !GV->hasInternalLinkage());
|
||||
StubValueTy(getSymbol(GV), !GV->hasInternalLinkage());
|
||||
}
|
||||
|
||||
// If the name begins with a dollar-sign, enclose it in parens. We do this
|
||||
@ -665,12 +665,12 @@ void X86AsmPrinter::EmitEndOfAsmFile(Module &M) {
|
||||
|
||||
for (Module::const_iterator I = M.begin(), E = M.end(); I != E; ++I)
|
||||
if (I->hasDLLExportLinkage())
|
||||
DLLExportedFns.push_back(Mang->getSymbol(I));
|
||||
DLLExportedFns.push_back(getSymbol(I));
|
||||
|
||||
for (Module::const_global_iterator I = M.global_begin(),
|
||||
E = M.global_end(); I != E; ++I)
|
||||
if (I->hasDLLExportLinkage())
|
||||
DLLExportedGlobals.push_back(Mang->getSymbol(I));
|
||||
DLLExportedGlobals.push_back(getSymbol(I));
|
||||
|
||||
// Output linker support code for dllexported globals on windows.
|
||||
if (!DLLExportedGlobals.empty() || !DLLExportedFns.empty()) {
|
||||
|
@ -111,7 +111,7 @@ GetSymbolFromOperand(const MachineOperand &MO) const {
|
||||
assert(MO.isGlobal() && "Extern symbol not handled yet");
|
||||
StubSym =
|
||||
MachineModuleInfoImpl::
|
||||
StubValueTy(getMang()->getSymbol(MO.getGlobal()),
|
||||
StubValueTy(AsmPrinter.getSymbol(MO.getGlobal()),
|
||||
!MO.getGlobal()->hasInternalLinkage());
|
||||
}
|
||||
return Sym;
|
||||
@ -125,7 +125,7 @@ GetSymbolFromOperand(const MachineOperand &MO) const {
|
||||
assert(MO.isGlobal() && "Extern symbol not handled yet");
|
||||
StubSym =
|
||||
MachineModuleInfoImpl::
|
||||
StubValueTy(getMang()->getSymbol(MO.getGlobal()),
|
||||
StubValueTy(AsmPrinter.getSymbol(MO.getGlobal()),
|
||||
!MO.getGlobal()->hasInternalLinkage());
|
||||
}
|
||||
return Sym;
|
||||
@ -141,7 +141,7 @@ GetSymbolFromOperand(const MachineOperand &MO) const {
|
||||
if (MO.isGlobal()) {
|
||||
StubSym =
|
||||
MachineModuleInfoImpl::
|
||||
StubValueTy(getMang()->getSymbol(MO.getGlobal()),
|
||||
StubValueTy(AsmPrinter.getSymbol(MO.getGlobal()),
|
||||
!MO.getGlobal()->hasInternalLinkage());
|
||||
} else {
|
||||
Name.erase(Name.end()-5, Name.end());
|
||||
|
@ -109,7 +109,7 @@ void XCoreAsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) {
|
||||
OutStreamer.SwitchSection(getObjFileLowering().SectionForGlobal(GV, Mang,TM));
|
||||
|
||||
|
||||
MCSymbol *GVSym = Mang->getSymbol(GV);
|
||||
MCSymbol *GVSym = getSymbol(GV);
|
||||
const Constant *C = GV->getInitializer();
|
||||
unsigned Align = (unsigned)TD->getPreferredTypeAlignmentShift(C->getType());
|
||||
|
||||
@ -216,7 +216,7 @@ void XCoreAsmPrinter::printOperand(const MachineInstr *MI, int opNum,
|
||||
O << *MO.getMBB()->getSymbol();
|
||||
break;
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
O << *Mang->getSymbol(MO.getGlobal());
|
||||
O << *getSymbol(MO.getGlobal());
|
||||
break;
|
||||
case MachineOperand::MO_ExternalSymbol:
|
||||
O << MO.getSymbolName();
|
||||
|
@ -43,7 +43,7 @@ MCOperand XCoreMCInstLower::LowerSymbolOperand(const MachineOperand &MO,
|
||||
Symbol = MO.getMBB()->getSymbol();
|
||||
break;
|
||||
case MachineOperand::MO_GlobalAddress:
|
||||
Symbol = Mang->getSymbol(MO.getGlobal());
|
||||
Symbol = Printer.getSymbol(MO.getGlobal());
|
||||
Offset += MO.getOffset();
|
||||
break;
|
||||
case MachineOperand::MO_BlockAddress:
|
||||
|
Loading…
Reference in New Issue
Block a user