rename TAI -> MAI, being careful not to make MAILJMP instructions :)

llvm-svn: 79777
This commit is contained in:
Chris Lattner 2009-08-22 21:43:10 +00:00
parent cbf10f5de5
commit e9a75a6654
50 changed files with 517 additions and 517 deletions

View File

@ -96,7 +96,7 @@ namespace llvm {
/// Target Asm Printer information.
///
const MCAsmInfo *TAI;
const MCAsmInfo *MAI;
/// Target Register Information.
///

View File

@ -63,10 +63,10 @@ namespace llvm {
/// beginAssembly/finishAssembly - Emit module metadata as assembly code.
virtual void beginAssembly(raw_ostream &OS, AsmPrinter &AP,
const MCAsmInfo &TAI);
const MCAsmInfo &MAI);
virtual void finishAssembly(raw_ostream &OS, AsmPrinter &AP,
const MCAsmInfo &TAI);
const MCAsmInfo &MAI);
virtual ~GCMetadataPrinter();
};

View File

@ -37,7 +37,7 @@ namespace llvm {
SectionKind getKind() const { return Kind; }
virtual void PrintSwitchToSection(const MCAsmInfo &TAI,
virtual void PrintSwitchToSection(const MCAsmInfo &MAI,
raw_ostream &OS) const = 0;
};
@ -62,7 +62,7 @@ namespace llvm {
const std::string &getName() const { return Name; }
bool isDirective() const { return IsDirective; }
virtual void PrintSwitchToSection(const MCAsmInfo &TAI,
virtual void PrintSwitchToSection(const MCAsmInfo &MAI,
raw_ostream &OS) const;
};

View File

@ -48,7 +48,7 @@ public:
/// ShouldOmitSectionDirective - Decides whether a '.section' directive
/// should be printed before the section name
bool ShouldOmitSectionDirective(const char *Name,
const MCAsmInfo &TAI) const;
const MCAsmInfo &MAI) const;
/// ShouldPrintSectionType - Only prints the section type if supported
bool ShouldPrintSectionType(unsigned Ty) const;
@ -171,7 +171,7 @@ public:
unsigned getType() const { return Type; }
unsigned getFlags() const { return Flags; }
virtual void PrintSwitchToSection(const MCAsmInfo &TAI,
virtual void PrintSwitchToSection(const MCAsmInfo &MAI,
raw_ostream &OS) const;
@ -179,7 +179,7 @@ public:
/// MCSectionELF subclasses with target specific section flags should
/// implement this method if they end up adding letters to the attributes
/// list.
virtual void PrintTargetSpecificSectionFlags(const MCAsmInfo &TAI,
virtual void PrintTargetSpecificSectionFlags(const MCAsmInfo &MAI,
raw_ostream &OS) const {
}

View File

@ -166,7 +166,7 @@ public:
unsigned &TAA, // Out.
unsigned &StubSize); // Out.
virtual void PrintSwitchToSection(const MCAsmInfo &TAI,
virtual void PrintSwitchToSection(const MCAsmInfo &MAI,
raw_ostream &OS) const;
};

View File

@ -241,7 +241,7 @@ namespace llvm {
///
/// \arg AP - If given, an AsmPrinter to use for printing instructions.
MCStreamer *createAsmStreamer(MCContext &Ctx, raw_ostream &OS,
const MCAsmInfo &TAI, AsmPrinter *AP = 0);
const MCAsmInfo &MAI, AsmPrinter *AP = 0);
// FIXME: These two may end up getting rolled into a single
// createObjectStreamer interface, which implements the assembler backend, and

View File

@ -464,7 +464,7 @@ public:
/// Measure the specified inline asm to determine an approximation of its
/// length.
virtual unsigned getInlineAsmLength(const char *Str,
const MCAsmInfo &TAI) const;
const MCAsmInfo &MAI) const;
};
/// TargetInstrInfoImpl - This is the default implementation of

View File

@ -53,7 +53,7 @@ namespace llvm {
const std::string &Features);
typedef AsmPrinter *(*AsmPrinterCtorTy)(formatted_raw_ostream &OS,
TargetMachine &TM,
const MCAsmInfo *TAI,
const MCAsmInfo *MAI,
bool VerboseAsm);
typedef TargetAsmParser *(*AsmParserCtorTy)(const Target &T,
MCAsmParser &P);
@ -140,10 +140,10 @@ namespace llvm {
/// createAsmPrinter - Create a target specific assembly printer pass.
AsmPrinter *createAsmPrinter(formatted_raw_ostream &OS, TargetMachine &TM,
const MCAsmInfo *TAI, bool Verbose) const {
const MCAsmInfo *MAI, bool Verbose) const {
if (!AsmPrinterCtorFn)
return 0;
return AsmPrinterCtorFn(OS, TM, TAI, Verbose);
return AsmPrinterCtorFn(OS, TM, MAI, Verbose);
}
/// createAsmParser - Create a target specific assembly parser.
@ -406,8 +406,8 @@ namespace llvm {
private:
static AsmPrinter *Allocator(formatted_raw_ostream &OS, TargetMachine &TM,
const MCAsmInfo *TAI, bool Verbose) {
return new AsmPrinterImpl(OS, TM, TAI, Verbose);
const MCAsmInfo *MAI, bool Verbose) {
return new AsmPrinterImpl(OS, TM, MAI, Verbose);
}
};

View File

@ -52,7 +52,7 @@ char AsmPrinter::ID = 0;
AsmPrinter::AsmPrinter(formatted_raw_ostream &o, TargetMachine &tm,
const MCAsmInfo *T, bool VDef)
: MachineFunctionPass(&ID), FunctionNumber(0), O(o),
TM(tm), TAI(T), TRI(tm.getRegisterInfo()),
TM(tm), MAI(T), TRI(tm.getRegisterInfo()),
OutContext(*new MCContext()),
OutStreamer(*createAsmStreamer(OutContext, O, *T, this)),
@ -99,16 +99,16 @@ bool AsmPrinter::doInitialization(Module &M) {
const_cast<TargetLoweringObjectFile&>(getObjFileLowering())
.Initialize(OutContext, TM);
Mang = new Mangler(M, TAI->getGlobalPrefix(), TAI->getPrivateGlobalPrefix(),
TAI->getLinkerPrivateGlobalPrefix());
Mang = new Mangler(M, MAI->getGlobalPrefix(), MAI->getPrivateGlobalPrefix(),
MAI->getLinkerPrivateGlobalPrefix());
if (TAI->doesAllowQuotesInName())
if (MAI->doesAllowQuotesInName())
Mang->setUseQuotes(true);
GCModuleInfo *MI = getAnalysisIfAvailable<GCModuleInfo>();
assert(MI && "AsmPrinter didn't require GCModuleInfo?");
if (TAI->hasSingleParameterDotFile()) {
if (MAI->hasSingleParameterDotFile()) {
/* Very minimal debug info. It is ignored if we emit actual
debug info. If we don't, this at helps the user find where
a function came from. */
@ -117,22 +117,22 @@ bool AsmPrinter::doInitialization(Module &M) {
for (GCModuleInfo::iterator I = MI->begin(), E = MI->end(); I != E; ++I)
if (GCMetadataPrinter *MP = GetOrCreateGCPrinter(*I))
MP->beginAssembly(O, *this, *TAI);
MP->beginAssembly(O, *this, *MAI);
if (!M.getModuleInlineAsm().empty())
O << TAI->getCommentString() << " Start of file scope inline assembly\n"
O << MAI->getCommentString() << " Start of file scope inline assembly\n"
<< M.getModuleInlineAsm()
<< '\n' << TAI->getCommentString()
<< '\n' << MAI->getCommentString()
<< " End of file scope inline assembly\n";
if (TAI->doesSupportDebugInformation() ||
TAI->doesSupportExceptionHandling()) {
if (MAI->doesSupportDebugInformation() ||
MAI->doesSupportExceptionHandling()) {
MMI = getAnalysisIfAvailable<MachineModuleInfo>();
if (MMI)
MMI->AnalyzeModule(M);
DW = getAnalysisIfAvailable<DwarfWriter>();
if (DW)
DW->BeginModule(&M, MMI, O, this, TAI);
DW->BeginModule(&M, MMI, O, this, MAI);
}
return false;
@ -145,11 +145,11 @@ bool AsmPrinter::doFinalization(Module &M) {
PrintGlobalVariable(I);
// Emit final debug information.
if (TAI->doesSupportDebugInformation() || TAI->doesSupportExceptionHandling())
if (MAI->doesSupportDebugInformation() || MAI->doesSupportExceptionHandling())
DW->EndModule();
// If the target wants to know about weak references, print them all.
if (TAI->getWeakRefDirective()) {
if (MAI->getWeakRefDirective()) {
// FIXME: This is not lazy, it would be nice to only print weak references
// to stuff that is actually used. Note that doing so would require targets
// to notice uses in operands (due to constant exprs etc). This should
@ -159,16 +159,16 @@ bool AsmPrinter::doFinalization(Module &M) {
for (Module::const_global_iterator I = M.global_begin(), E = M.global_end();
I != E; ++I) {
if (I->hasExternalWeakLinkage())
O << TAI->getWeakRefDirective() << Mang->getMangledName(I) << '\n';
O << MAI->getWeakRefDirective() << Mang->getMangledName(I) << '\n';
}
for (Module::const_iterator I = M.begin(), E = M.end(); I != E; ++I) {
if (I->hasExternalWeakLinkage())
O << TAI->getWeakRefDirective() << Mang->getMangledName(I) << '\n';
O << MAI->getWeakRefDirective() << Mang->getMangledName(I) << '\n';
}
}
if (TAI->getSetDirective()) {
if (MAI->getSetDirective()) {
O << '\n';
for (Module::const_alias_iterator I = M.alias_begin(), E = M.alias_end();
I != E; ++I) {
@ -177,16 +177,16 @@ bool AsmPrinter::doFinalization(Module &M) {
const GlobalValue *GV = cast<GlobalValue>(I->getAliasedGlobal());
std::string Target = Mang->getMangledName(GV);
if (I->hasExternalLinkage() || !TAI->getWeakRefDirective())
if (I->hasExternalLinkage() || !MAI->getWeakRefDirective())
O << "\t.globl\t" << Name << '\n';
else if (I->hasWeakLinkage())
O << TAI->getWeakRefDirective() << Name << '\n';
O << MAI->getWeakRefDirective() << Name << '\n';
else if (!I->hasLocalLinkage())
llvm_unreachable("Invalid alias linkage");
printVisibility(Name, I->getVisibility());
O << TAI->getSetDirective() << ' ' << Name << ", " << Target << '\n';
O << MAI->getSetDirective() << ' ' << Name << ", " << Target << '\n';
}
}
@ -194,14 +194,14 @@ bool AsmPrinter::doFinalization(Module &M) {
assert(MI && "AsmPrinter didn't require GCModuleInfo?");
for (GCModuleInfo::iterator I = MI->end(), E = MI->begin(); I != E; )
if (GCMetadataPrinter *MP = GetOrCreateGCPrinter(*--I))
MP->finishAssembly(O, *this, *TAI);
MP->finishAssembly(O, *this, *MAI);
// If we don't have any trampolines, then we don't require stack memory
// to be executable. Some targets have a directive to declare this.
Function *InitTrampolineIntrinsic = M.getFunction("llvm.init.trampoline");
if (!InitTrampolineIntrinsic || InitTrampolineIntrinsic->use_empty())
if (TAI->getNonexecutableStackDirective())
O << TAI->getNonexecutableStackDirective() << '\n';
if (MAI->getNonexecutableStackDirective())
O << MAI->getNonexecutableStackDirective() << '\n';
delete Mang; Mang = 0;
DW = 0; MMI = 0;
@ -214,7 +214,7 @@ std::string
AsmPrinter::getCurrentFunctionEHName(const MachineFunction *MF) const {
assert(MF && "No machine function?");
return Mang->getMangledName(MF->getFunction(), ".eh",
TAI->is_EHSymbolPrivate());
MAI->is_EHSymbolPrivate());
}
void AsmPrinter::SetupMachineFunction(MachineFunction &MF) {
@ -309,11 +309,11 @@ void AsmPrinter::EmitConstantPool(MachineConstantPool *MCP) {
const Type *Ty = CPE.getType();
Offset = NewOffset + TM.getTargetData()->getTypeAllocSize(Ty);
O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << '_'
O << MAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << '_'
<< CPI << ':';
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << " constant ";
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << " constant ";
WriteTypeSymbolic(O, CPE.getType(), MF->getFunction()->getParent());
}
O << '\n';
@ -369,7 +369,7 @@ void AsmPrinter::EmitJumpTableInfo(MachineJumpTableInfo *MJTI,
// the number of relocations the assembler will generate for the jump table.
// Set directives are all printed before the jump table itself.
SmallPtrSet<MachineBasicBlock*, 16> EmittedSets;
if (TAI->getSetDirective() && IsPic)
if (MAI->getSetDirective() && IsPic)
for (unsigned ii = 0, ee = JTBBs.size(); ii != ee; ++ii)
if (EmittedSets.insert(JTBBs[ii]))
printPICJumpTableSetLabel(i, JTBBs[ii]);
@ -379,11 +379,11 @@ void AsmPrinter::EmitJumpTableInfo(MachineJumpTableInfo *MJTI,
// the assembler and linker the extents of the jump table object. The
// second label is actually referenced by the code.
if (JTInDiffSection) {
if (const char *JTLabelPrefix = TAI->getJumpTableSpecialLabelPrefix())
if (const char *JTLabelPrefix = MAI->getJumpTableSpecialLabelPrefix())
O << JTLabelPrefix << "JTI" << getFunctionNumber() << '_' << i << ":\n";
}
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << i << ":\n";
for (unsigned ii = 0, ee = JTBBs.size(); ii != ee; ++ii) {
@ -400,11 +400,11 @@ void AsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
// Use JumpTableDirective otherwise honor the entry size from the jump table
// info.
const char *JTEntryDirective = TAI->getJumpTableDirective(isPIC);
const char *JTEntryDirective = MAI->getJumpTableDirective(isPIC);
bool HadJTEntryDirective = JTEntryDirective != NULL;
if (!HadJTEntryDirective) {
JTEntryDirective = MJTI->getEntrySize() == 4 ?
TAI->getData32bitsDirective() : TAI->getData64bitsDirective();
MAI->getData32bitsDirective() : MAI->getData64bitsDirective();
}
O << JTEntryDirective << ' ';
@ -416,15 +416,15 @@ void AsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
// references to the target basic blocks.
if (!isPIC) {
printBasicBlockLabel(MBB, false, false, false);
} else if (TAI->getSetDirective()) {
O << TAI->getPrivateGlobalPrefix() << getFunctionNumber()
} else if (MAI->getSetDirective()) {
O << MAI->getPrivateGlobalPrefix() << getFunctionNumber()
<< '_' << uid << "_set_" << MBB->getNumber();
} else {
printBasicBlockLabel(MBB, false, false, false);
// If the arch uses custom Jump Table directives, don't calc relative to
// JT
if (!HadJTEntryDirective)
O << '-' << TAI->getPrivateGlobalPrefix() << "JTI"
O << '-' << MAI->getPrivateGlobalPrefix() << "JTI"
<< getFunctionNumber() << '_' << uid;
}
}
@ -435,7 +435,7 @@ void AsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
/// do nothing and return false.
bool AsmPrinter::EmitSpecialLLVMGlobal(const GlobalVariable *GV) {
if (GV->getName() == "llvm.used") {
if (TAI->getUsedDirective() != 0) // No need to emit this at all.
if (MAI->getUsedDirective() != 0) // No need to emit this at all.
EmitLLVMUsedList(GV->getInitializer());
return true;
}
@ -468,11 +468,11 @@ bool AsmPrinter::EmitSpecialLLVMGlobal(const GlobalVariable *GV) {
return false;
}
/// EmitLLVMUsedList - For targets that define a TAI::UsedDirective, mark each
/// EmitLLVMUsedList - For targets that define a MAI::UsedDirective, mark each
/// global in the specified llvm.used list for which emitUsedDirectiveFor
/// is true, as being used with this directive.
void AsmPrinter::EmitLLVMUsedList(Constant *List) {
const char *Directive = TAI->getUsedDirective();
const char *Directive = MAI->getUsedDirective();
// Should be an array of 'i8*'.
ConstantArray *InitList = dyn_cast<ConstantArray>(List);
@ -513,13 +513,13 @@ void AsmPrinter::EmitXXStructorList(Constant *List) {
const std::string &AsmPrinter::getGlobalLinkName(const GlobalVariable *GV,
std::string &LinkName) const {
if (isa<Function>(GV)) {
LinkName += TAI->getFunctionAddrPrefix();
LinkName += MAI->getFunctionAddrPrefix();
LinkName += Mang->getMangledName(GV);
LinkName += TAI->getFunctionAddrSuffix();
LinkName += MAI->getFunctionAddrSuffix();
} else {
LinkName += TAI->getGlobalVarAddrPrefix();
LinkName += MAI->getGlobalVarAddrPrefix();
LinkName += Mang->getMangledName(GV);
LinkName += TAI->getGlobalVarAddrSuffix();
LinkName += MAI->getGlobalVarAddrSuffix();
}
return LinkName;
@ -586,8 +586,8 @@ void AsmPrinter::EOL() const {
void AsmPrinter::EOL(const std::string &Comment) const {
if (VerboseAsm && !Comment.empty()) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< ' '
<< Comment;
}
@ -596,8 +596,8 @@ void AsmPrinter::EOL(const std::string &Comment) const {
void AsmPrinter::EOL(const char* Comment) const {
if (VerboseAsm && *Comment) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< ' '
<< Comment;
}
@ -607,11 +607,11 @@ void AsmPrinter::EOL(const char* Comment) const {
/// EmitULEB128Bytes - Emit an assembler byte data directive to compose an
/// unsigned leb128 value.
void AsmPrinter::EmitULEB128Bytes(unsigned Value) const {
if (TAI->hasLEB128()) {
if (MAI->hasLEB128()) {
O << "\t.uleb128\t"
<< Value;
} else {
O << TAI->getData8bitsDirective();
O << MAI->getData8bitsDirective();
PrintULEB128(Value);
}
}
@ -619,11 +619,11 @@ void AsmPrinter::EmitULEB128Bytes(unsigned Value) const {
/// EmitSLEB128Bytes - print an assembler byte data directive to compose a
/// signed leb128 value.
void AsmPrinter::EmitSLEB128Bytes(int Value) const {
if (TAI->hasLEB128()) {
if (MAI->hasLEB128()) {
O << "\t.sleb128\t"
<< Value;
} else {
O << TAI->getData8bitsDirective();
O << MAI->getData8bitsDirective();
PrintSLEB128(Value);
}
}
@ -631,29 +631,29 @@ void AsmPrinter::EmitSLEB128Bytes(int Value) const {
/// EmitInt8 - Emit a byte directive and value.
///
void AsmPrinter::EmitInt8(int Value) const {
O << TAI->getData8bitsDirective();
O << MAI->getData8bitsDirective();
PrintHex(Value & 0xFF);
}
/// EmitInt16 - Emit a short directive and value.
///
void AsmPrinter::EmitInt16(int Value) const {
O << TAI->getData16bitsDirective();
O << MAI->getData16bitsDirective();
PrintHex(Value & 0xFFFF);
}
/// EmitInt32 - Emit a long directive and value.
///
void AsmPrinter::EmitInt32(int Value) const {
O << TAI->getData32bitsDirective();
O << MAI->getData32bitsDirective();
PrintHex(Value);
}
/// EmitInt64 - Emit a long long directive and value.
///
void AsmPrinter::EmitInt64(uint64_t Value) const {
if (TAI->getData64bitsDirective()) {
O << TAI->getData64bitsDirective();
if (MAI->getData64bitsDirective()) {
O << MAI->getData64bitsDirective();
PrintHex(Value);
} else {
if (TM.getTargetData()->isBigEndian()) {
@ -706,11 +706,11 @@ void AsmPrinter::EmitString(const std::string &String) const {
}
void AsmPrinter::EmitString(const char *String, unsigned Size) const {
const char* AscizDirective = TAI->getAscizDirective();
const char* AscizDirective = MAI->getAscizDirective();
if (AscizDirective)
O << AscizDirective;
else
O << TAI->getAsciiDirective();
O << MAI->getAsciiDirective();
O << '\"';
for (unsigned i = 0; i < Size; ++i)
printStringChar(O, String[i]);
@ -756,7 +756,7 @@ void AsmPrinter::EmitAlignment(unsigned NumBits, const GlobalValue *GV,
unsigned FillValue = 0;
if (getCurrentSection()->getKind().isText())
FillValue = TAI->getTextAlignFillValue();
FillValue = MAI->getTextAlignFillValue();
OutStreamer.EmitValueToAlignment(1 << NumBits, FillValue, 1, 0);
}
@ -765,14 +765,14 @@ void AsmPrinter::EmitAlignment(unsigned NumBits, const GlobalValue *GV,
///
void AsmPrinter::EmitZeros(uint64_t NumZeros, unsigned AddrSpace) const {
if (NumZeros) {
if (TAI->getZeroDirective()) {
O << TAI->getZeroDirective() << NumZeros;
if (TAI->getZeroDirectiveSuffix())
O << TAI->getZeroDirectiveSuffix();
if (MAI->getZeroDirective()) {
O << MAI->getZeroDirective() << NumZeros;
if (MAI->getZeroDirectiveSuffix())
O << MAI->getZeroDirectiveSuffix();
O << '\n';
} else {
for (; NumZeros; --NumZeros)
O << TAI->getData8bitsDirective(AddrSpace) << "0\n";
O << MAI->getData8bitsDirective(AddrSpace) << "0\n";
}
}
}
@ -790,13 +790,13 @@ void AsmPrinter::EmitConstantValueOnly(const Constant *CV) {
// decorating it with GlobalVarAddrPrefix/Suffix or
// FunctionAddrPrefix/Suffix (these all default to "" )
if (isa<Function>(GV)) {
O << TAI->getFunctionAddrPrefix()
O << MAI->getFunctionAddrPrefix()
<< Mang->getMangledName(GV)
<< TAI->getFunctionAddrSuffix();
<< MAI->getFunctionAddrSuffix();
} else {
O << TAI->getGlobalVarAddrPrefix()
O << MAI->getGlobalVarAddrPrefix()
<< Mang->getMangledName(GV)
<< TAI->getGlobalVarAddrSuffix();
<< MAI->getGlobalVarAddrSuffix();
}
} else if (const ConstantExpr *CE = dyn_cast<ConstantExpr>(CV)) {
const TargetData *TD = TM.getTargetData();
@ -929,12 +929,12 @@ static void printAsCString(formatted_raw_ostream &O, const ConstantArray *CVA,
///
void AsmPrinter::EmitString(const ConstantArray *CVA) const {
unsigned NumElts = CVA->getNumOperands();
if (TAI->getAscizDirective() && NumElts &&
if (MAI->getAscizDirective() && NumElts &&
cast<ConstantInt>(CVA->getOperand(NumElts-1))->getZExtValue() == 0) {
O << TAI->getAscizDirective();
O << MAI->getAscizDirective();
printAsCString(O, CVA, NumElts-1);
} else {
O << TAI->getAsciiDirective();
O << MAI->getAsciiDirective();
printAsCString(O, CVA, NumElts);
}
O << '\n';
@ -994,40 +994,40 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP,
if (CFP->getType() == Type::getDoubleTy(Context)) {
double Val = CFP->getValueAPF().convertToDouble(); // for comment only
uint64_t i = CFP->getValueAPF().bitcastToAPInt().getZExtValue();
if (TAI->getData64bitsDirective(AddrSpace)) {
O << TAI->getData64bitsDirective(AddrSpace) << i;
if (MAI->getData64bitsDirective(AddrSpace)) {
O << MAI->getData64bitsDirective(AddrSpace) << i;
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << " double " << Val;
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << " double " << Val;
}
O << '\n';
} else if (TD->isBigEndian()) {
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i >> 32);
O << MAI->getData32bitsDirective(AddrSpace) << unsigned(i >> 32);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " most significant word of double " << Val;
}
O << '\n';
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i);
O << MAI->getData32bitsDirective(AddrSpace) << unsigned(i);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " least significant word of double " << Val;
}
O << '\n';
} else {
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i);
O << MAI->getData32bitsDirective(AddrSpace) << unsigned(i);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " least significant word of double " << Val;
}
O << '\n';
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(i >> 32);
O << MAI->getData32bitsDirective(AddrSpace) << unsigned(i >> 32);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " most significant word of double " << Val;
}
O << '\n';
@ -1035,11 +1035,11 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP,
return;
} else if (CFP->getType() == Type::getFloatTy(Context)) {
float Val = CFP->getValueAPF().convertToFloat(); // for comment only
O << TAI->getData32bitsDirective(AddrSpace)
O << MAI->getData32bitsDirective(AddrSpace)
<< CFP->getValueAPF().bitcastToAPInt().getZExtValue();
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << " float " << Val;
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << " float " << Val;
}
O << '\n';
return;
@ -1054,73 +1054,73 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP,
DoubleVal.convert(APFloat::IEEEdouble, APFloat::rmNearestTiesToEven,
&ignored);
if (TD->isBigEndian()) {
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[1]);
O << MAI->getData16bitsDirective(AddrSpace) << uint16_t(p[1]);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " most significant halfword of x86_fp80 ~"
<< DoubleVal.convertToDouble();
}
O << '\n';
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 48);
O << MAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 48);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << " next halfword";
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << " next halfword";
}
O << '\n';
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 32);
O << MAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 32);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << " next halfword";
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << " next halfword";
}
O << '\n';
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 16);
O << MAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 16);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << " next halfword";
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << " next halfword";
}
O << '\n';
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0]);
O << MAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0]);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " least significant halfword";
}
O << '\n';
} else {
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0]);
O << MAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0]);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " least significant halfword of x86_fp80 ~"
<< DoubleVal.convertToDouble();
}
O << '\n';
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 16);
O << MAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 16);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " next halfword";
}
O << '\n';
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 32);
O << MAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 32);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " next halfword";
}
O << '\n';
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 48);
O << MAI->getData16bitsDirective(AddrSpace) << uint16_t(p[0] >> 48);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " next halfword";
}
O << '\n';
O << TAI->getData16bitsDirective(AddrSpace) << uint16_t(p[1]);
O << MAI->getData16bitsDirective(AddrSpace) << uint16_t(p[1]);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " most significant halfword";
}
O << '\n';
@ -1134,60 +1134,60 @@ void AsmPrinter::EmitGlobalConstantFP(const ConstantFP *CFP,
APInt api = CFP->getValueAPF().bitcastToAPInt();
const uint64_t *p = api.getRawData();
if (TD->isBigEndian()) {
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0] >> 32);
O << MAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0] >> 32);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " most significant word of ppc_fp128";
}
O << '\n';
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0]);
O << MAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0]);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " next word";
}
O << '\n';
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1] >> 32);
O << MAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1] >> 32);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " next word";
}
O << '\n';
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1]);
O << MAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1]);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " least significant word";
}
O << '\n';
} else {
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1]);
O << MAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1]);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " least significant word of ppc_fp128";
}
O << '\n';
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1] >> 32);
O << MAI->getData32bitsDirective(AddrSpace) << uint32_t(p[1] >> 32);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " next word";
}
O << '\n';
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0]);
O << MAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0]);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " next word";
}
O << '\n';
O << TAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0] >> 32);
O << MAI->getData32bitsDirective(AddrSpace) << uint32_t(p[0] >> 32);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " most significant word";
}
O << '\n';
@ -1214,35 +1214,35 @@ void AsmPrinter::EmitGlobalConstantLargeInt(const ConstantInt *CI,
else
Val = RawData[i];
if (TAI->getData64bitsDirective(AddrSpace))
O << TAI->getData64bitsDirective(AddrSpace) << Val << '\n';
if (MAI->getData64bitsDirective(AddrSpace))
O << MAI->getData64bitsDirective(AddrSpace) << Val << '\n';
else if (TD->isBigEndian()) {
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val >> 32);
O << MAI->getData32bitsDirective(AddrSpace) << unsigned(Val >> 32);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " most significant half of i64 " << Val;
}
O << '\n';
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val);
O << MAI->getData32bitsDirective(AddrSpace) << unsigned(Val);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " least significant half of i64 " << Val;
}
O << '\n';
} else {
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val);
O << MAI->getData32bitsDirective(AddrSpace) << unsigned(Val);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " least significant half of i64 " << Val;
}
O << '\n';
O << TAI->getData32bitsDirective(AddrSpace) << unsigned(Val >> 32);
O << MAI->getData32bitsDirective(AddrSpace) << unsigned(Val >> 32);
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " most significant half of i64 " << Val;
}
O << '\n';
@ -1285,8 +1285,8 @@ void AsmPrinter::EmitGlobalConstant(const Constant *CV, unsigned AddrSpace) {
if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
SmallString<40> S;
CI->getValue().toStringUnsigned(S, 16);
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << " 0x" << S.str();
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << " 0x" << S.str();
}
}
O << '\n';
@ -1305,10 +1305,10 @@ void AsmPrinter::EmitMachineConstantPoolValue(MachineConstantPoolValue *MCPV) {
/// for their own strange codes.
void AsmPrinter::PrintSpecial(const MachineInstr *MI, const char *Code) const {
if (!strcmp(Code, "private")) {
O << TAI->getPrivateGlobalPrefix();
O << MAI->getPrivateGlobalPrefix();
} else if (!strcmp(Code, "comment")) {
if (VerboseAsm)
O << TAI->getCommentString();
O << MAI->getCommentString();
} else if (!strcmp(Code, "uid")) {
// Comparing the address of MI isn't sufficient, because machineinstrs may
// be allocated to the same address across functions.
@ -1333,10 +1333,10 @@ void AsmPrinter::PrintSpecial(const MachineInstr *MI, const char *Code) const {
/// processDebugLoc - Processes the debug information of each machine
/// instruction's DebugLoc.
void AsmPrinter::processDebugLoc(DebugLoc DL) {
if (!TAI || !DW)
if (!MAI || !DW)
return;
if (TAI->doesSupportDebugInformation() && DW->ShouldEmitDwarfDebug()) {
if (MAI->doesSupportDebugInformation() && DW->ShouldEmitDwarfDebug()) {
if (!DL.isUnknown()) {
DebugLocTuple CurDLT = MF->getDebugLocTuple(DL);
@ -1368,15 +1368,15 @@ void AsmPrinter::printInlineAsm(const MachineInstr *MI) const {
// If this asmstr is empty, just print the #APP/#NOAPP markers.
// These are useful to see where empty asm's wound up.
if (AsmStr[0] == 0) {
O << TAI->getCommentString() << TAI->getInlineAsmStart() << "\n\t";
O << TAI->getCommentString() << TAI->getInlineAsmEnd() << '\n';
O << MAI->getCommentString() << MAI->getInlineAsmStart() << "\n\t";
O << MAI->getCommentString() << MAI->getInlineAsmEnd() << '\n';
return;
}
O << TAI->getCommentString() << TAI->getInlineAsmStart() << "\n\t";
O << MAI->getCommentString() << MAI->getInlineAsmStart() << "\n\t";
// The variant of the current asmprinter.
int AsmPrinterVariant = TAI->getAssemblerDialect();
int AsmPrinterVariant = MAI->getAssemblerDialect();
int CurVariant = -1; // The number of the {.|.|.} region we are in.
const char *LastEmitted = AsmStr; // One past the last character emitted.
@ -1544,15 +1544,15 @@ void AsmPrinter::printInlineAsm(const MachineInstr *MI) const {
}
}
}
O << "\n\t" << TAI->getCommentString() << TAI->getInlineAsmEnd() << '\n';
O << "\n\t" << MAI->getCommentString() << MAI->getInlineAsmEnd() << '\n';
}
/// printImplicitDef - This method prints the specified machine instruction
/// that is an implicit def.
void AsmPrinter::printImplicitDef(const MachineInstr *MI) const {
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << " implicit-def: "
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << " implicit-def: "
<< TRI->getAsmName(MI->getOperand(0).getReg()) << '\n';
}
}
@ -1564,7 +1564,7 @@ void AsmPrinter::printLabel(const MachineInstr *MI) const {
}
void AsmPrinter::printLabel(unsigned Id) const {
O << TAI->getPrivateGlobalPrefix() << "label" << Id << ":\n";
O << MAI->getPrivateGlobalPrefix() << "label" << Id << ":\n";
}
/// PrintAsmOperand - Print the specified operand of MI, an INLINEASM
@ -1595,15 +1595,15 @@ void AsmPrinter::printBasicBlockLabel(const MachineBasicBlock *MBB,
EmitAlignment(Log2_32(Align));
}
O << TAI->getPrivateGlobalPrefix() << "BB" << getFunctionNumber() << '_'
O << MAI->getPrivateGlobalPrefix() << "BB" << getFunctionNumber() << '_'
<< MBB->getNumber();
if (printColon)
O << ':';
if (printComment) {
if (const BasicBlock *BB = MBB->getBasicBlock())
if (BB->hasName()) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << ' ';
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << ' ';
WriteAsOperand(O, BB, /*PrintType=*/false);
}
@ -1616,26 +1616,26 @@ void AsmPrinter::printBasicBlockLabel(const MachineBasicBlock *MBB,
/// specified MachineBasicBlock for a jumptable entry.
void AsmPrinter::printPICJumpTableSetLabel(unsigned uid,
const MachineBasicBlock *MBB) const {
if (!TAI->getSetDirective())
if (!MAI->getSetDirective())
return;
O << TAI->getSetDirective() << ' ' << TAI->getPrivateGlobalPrefix()
O << MAI->getSetDirective() << ' ' << MAI->getPrivateGlobalPrefix()
<< getFunctionNumber() << '_' << uid << "_set_" << MBB->getNumber() << ',';
printBasicBlockLabel(MBB, false, false, false);
O << '-' << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << '-' << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << uid << '\n';
}
void AsmPrinter::printPICJumpTableSetLabel(unsigned uid, unsigned uid2,
const MachineBasicBlock *MBB) const {
if (!TAI->getSetDirective())
if (!MAI->getSetDirective())
return;
O << TAI->getSetDirective() << ' ' << TAI->getPrivateGlobalPrefix()
O << MAI->getSetDirective() << ' ' << MAI->getPrivateGlobalPrefix()
<< getFunctionNumber() << '_' << uid << '_' << uid2
<< "_set_" << MBB->getNumber() << ',';
printBasicBlockLabel(MBB, false, false, false);
O << '-' << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << '-' << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << uid << '_' << uid2 << '\n';
}
@ -1652,15 +1652,15 @@ void AsmPrinter::printDataDirective(const Type *type, unsigned AddrSpace) {
case Type::IntegerTyID: {
unsigned BitWidth = cast<IntegerType>(type)->getBitWidth();
if (BitWidth <= 8)
O << TAI->getData8bitsDirective(AddrSpace);
O << MAI->getData8bitsDirective(AddrSpace);
else if (BitWidth <= 16)
O << TAI->getData16bitsDirective(AddrSpace);
O << MAI->getData16bitsDirective(AddrSpace);
else if (BitWidth <= 32)
O << TAI->getData32bitsDirective(AddrSpace);
O << MAI->getData32bitsDirective(AddrSpace);
else if (BitWidth <= 64) {
assert(TAI->getData64bitsDirective(AddrSpace) &&
assert(MAI->getData64bitsDirective(AddrSpace) &&
"Target cannot handle 64-bit constant exprs!");
O << TAI->getData64bitsDirective(AddrSpace);
O << MAI->getData64bitsDirective(AddrSpace);
} else {
llvm_unreachable("Target cannot handle given data directive width!");
}
@ -1668,15 +1668,15 @@ void AsmPrinter::printDataDirective(const Type *type, unsigned AddrSpace) {
}
case Type::PointerTyID:
if (TD->getPointerSize() == 8) {
assert(TAI->getData64bitsDirective(AddrSpace) &&
assert(MAI->getData64bitsDirective(AddrSpace) &&
"Target cannot handle 64-bit pointer exprs!");
O << TAI->getData64bitsDirective(AddrSpace);
O << MAI->getData64bitsDirective(AddrSpace);
} else if (TD->getPointerSize() == 2) {
O << TAI->getData16bitsDirective(AddrSpace);
O << MAI->getData16bitsDirective(AddrSpace);
} else if (TD->getPointerSize() == 1) {
O << TAI->getData8bitsDirective(AddrSpace);
O << MAI->getData8bitsDirective(AddrSpace);
} else {
O << TAI->getData32bitsDirective(AddrSpace);
O << MAI->getData32bitsDirective(AddrSpace);
}
break;
}
@ -1685,10 +1685,10 @@ void AsmPrinter::printDataDirective(const Type *type, unsigned AddrSpace) {
void AsmPrinter::printVisibility(const std::string& Name,
unsigned Visibility) const {
if (Visibility == GlobalValue::HiddenVisibility) {
if (const char *Directive = TAI->getHiddenDirective())
if (const char *Directive = MAI->getHiddenDirective())
O << Directive << Name << '\n';
} else if (Visibility == GlobalValue::ProtectedVisibility) {
if (const char *Directive = TAI->getProtectedDirective())
if (const char *Directive = MAI->getProtectedDirective())
O << Directive << Name << '\n';
}
}
@ -1737,8 +1737,8 @@ void AsmPrinter::EmitComments(const MachineInstr &MI) const {
DebugLocTuple DLT = MF->getDebugLocTuple(MI.getDebugLoc());
// Print source line info.
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << " SrcLine ";
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << " SrcLine ";
if (DLT.CompileUnit->hasInitializer()) {
Constant *Name = DLT.CompileUnit->getInitializer();
if (ConstantArray *NameString = dyn_cast<ConstantArray>(Name))
@ -1758,8 +1758,8 @@ void AsmPrinter::EmitComments(const MCInst &MI) const
DebugLocTuple DLT = MF->getDebugLocTuple(MI.getDebugLoc());
// Print source line info
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << " SrcLine ";
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << " SrcLine ";
if (DLT.CompileUnit->hasInitializer()) {
Constant *Name = DLT.CompileUnit->getInitializer();
if (ConstantArray *NameString = dyn_cast<ConstantArray>(Name))
@ -1792,7 +1792,7 @@ Indent(formatted_raw_ostream &out, int level, int scale = 2) {
///
static void PrintChildLoopComment(formatted_raw_ostream &O,
const MachineLoop *loop,
const MCAsmInfo *TAI,
const MCAsmInfo *MAI,
int FunctionNumber) {
// Add child loop information
for(MachineLoop::iterator cl = loop->begin(),
@ -1803,14 +1803,14 @@ static void PrintChildLoopComment(formatted_raw_ostream &O,
assert(Header && "No header for loop");
O << '\n';
O.PadToColumn(TAI->getCommentColumn());
O.PadToColumn(MAI->getCommentColumn());
O << TAI->getCommentString();
O << MAI->getCommentString();
Indent(O, (*cl)->getLoopDepth()-1)
<< " Child Loop BB" << FunctionNumber << "_"
<< Header->getNumber() << " Depth " << (*cl)->getLoopDepth();
PrintChildLoopComment(O, *cl, TAI, FunctionNumber);
PrintChildLoopComment(O, *cl, MAI, FunctionNumber);
}
}
@ -1824,28 +1824,28 @@ void AsmPrinter::EmitComments(const MachineBasicBlock &MBB) const
if (loop) {
// Print a newline after bb# annotation.
O << "\n";
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << " Loop Depth " << loop->getLoopDepth()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << " Loop Depth " << loop->getLoopDepth()
<< '\n';
O.PadToColumn(TAI->getCommentColumn());
O.PadToColumn(MAI->getCommentColumn());
MachineBasicBlock *Header = loop->getHeader();
assert(Header && "No header for loop");
if (Header == &MBB) {
O << TAI->getCommentString() << " Loop Header";
PrintChildLoopComment(O, loop, TAI, getFunctionNumber());
O << MAI->getCommentString() << " Loop Header";
PrintChildLoopComment(O, loop, MAI, getFunctionNumber());
}
else {
O << TAI->getCommentString() << " Loop Header is BB"
O << MAI->getCommentString() << " Loop Header is BB"
<< getFunctionNumber() << "_" << loop->getHeader()->getNumber();
}
if (loop->empty()) {
O << '\n';
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << " Inner Loop";
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << " Inner Loop";
}
// Add parent loop information
@ -1856,8 +1856,8 @@ void AsmPrinter::EmitComments(const MachineBasicBlock &MBB) const
assert(Header && "No header for loop");
O << '\n';
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString();
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString();
Indent(O, CurLoop->getLoopDepth()-1)
<< " Inside Loop BB" << getFunctionNumber() << "_"
<< Header->getNumber() << " Depth " << CurLoop->getLoopDepth();

View File

@ -1334,7 +1334,7 @@ void DwarfDebug::BeginModule(Module *M, MachineModuleInfo *mmi) {
// Print out .file directives to specify files for .loc directives. These are
// printed out early so that they precede any .loc directives.
if (TAI->hasDotLocAndDotFile()) {
if (MAI->hasDotLocAndDotFile()) {
for (unsigned i = 1, e = getNumSourceIds()+1; i != e; ++i) {
// Remember source id starts at 1.
std::pair<unsigned, unsigned> Id = getSourceDirectoryAndFileIds(i);
@ -1654,7 +1654,7 @@ unsigned DwarfDebug::RecordInlinedFnStart(DISubprogram &SP, DICompileUnit CU,
unsigned Line, unsigned Col) {
unsigned LabelID = MMI->NextLabelID();
if (!TAI->doesDwarfUsesInlineInfoSection())
if (!MAI->doesDwarfUsesInlineInfoSection())
return LabelID;
if (TimePassesIsEnabled)
@ -1732,7 +1732,7 @@ unsigned DwarfDebug::RecordInlinedFnStart(DISubprogram &SP, DICompileUnit CU,
/// RecordInlinedFnEnd - Indicate the end of inlined subroutine.
unsigned DwarfDebug::RecordInlinedFnEnd(DISubprogram &SP) {
if (!TAI->doesDwarfUsesInlineInfoSection())
if (!MAI->doesDwarfUsesInlineInfoSection())
return 0;
if (TimePassesIsEnabled)
@ -1844,7 +1844,7 @@ void DwarfDebug::EmitInitial() {
const TargetLoweringObjectFile &TLOF = Asm->getObjFileLowering();
// Dwarf sections base addresses.
if (TAI->doesDwarfRequireFrameSection()) {
if (MAI->doesDwarfRequireFrameSection()) {
Asm->OutStreamer.SwitchSection(TLOF.getDwarfFrameSection());
EmitLabel("section_debug_frame", 0);
}
@ -2037,7 +2037,7 @@ void DwarfDebug::EmitEndOfLineMatrix(unsigned SectionEnd) {
void DwarfDebug::EmitDebugLines() {
// If the target is using .loc/.file, the assembler will be emitting the
// .debug_line table automatically.
if (TAI->hasDotLocAndDotFile())
if (MAI->hasDotLocAndDotFile())
return;
// Minimum line delta, thus ranging from -10..(255-10).
@ -2116,7 +2116,7 @@ void DwarfDebug::EmitDebugLines() {
/*if (Asm->isVerbose()) {
const MCSection *S = SectionMap[j + 1];
O << '\t' << TAI->getCommentString() << " Section"
O << '\t' << MAI->getCommentString() << " Section"
<< S->getName() << '\n';
}*/
Asm->EOL();
@ -2136,7 +2136,7 @@ void DwarfDebug::EmitDebugLines() {
else {
std::pair<unsigned, unsigned> SourceID =
getSourceDirectoryAndFileIds(LineInfo.getSourceID());
O << '\t' << TAI->getCommentString() << ' '
O << '\t' << MAI->getCommentString() << ' '
<< getSourceDirectoryName(SourceID.first) << ' '
<< getSourceFileName(SourceID.second)
<<" :" << utostr_32(LineInfo.getLine()) << '\n';
@ -2197,7 +2197,7 @@ void DwarfDebug::EmitDebugLines() {
/// EmitCommonDebugFrame - Emit common frame info into a debug frame section.
///
void DwarfDebug::EmitCommonDebugFrame() {
if (!TAI->doesDwarfRequireFrameSection())
if (!MAI->doesDwarfRequireFrameSection())
return;
int stackGrowth =
@ -2243,7 +2243,7 @@ void DwarfDebug::EmitCommonDebugFrame() {
/// section.
void
DwarfDebug::EmitFunctionDebugFrame(const FunctionDebugFrameInfo&DebugFrameInfo){
if (!TAI->doesDwarfRequireFrameSection())
if (!MAI->doesDwarfRequireFrameSection())
return;
// Start the dwarf frame section.
@ -2427,7 +2427,7 @@ void DwarfDebug::EmitDebugMacInfo() {
/// __debug_info section, and the low_pc is the starting address for the
/// inlining instance.
void DwarfDebug::EmitDebugInlineInfo() {
if (!TAI->doesDwarfUsesInlineInfoSection())
if (!MAI->doesDwarfUsesInlineInfoSection())
return;
if (!ModuleCU)
@ -2479,9 +2479,9 @@ void DwarfDebug::EmitDebugInlineInfo() {
Asm->EmitInt32(SP->getOffset()); Asm->EOL("DIE offset");
if (TD->getPointerSize() == sizeof(int32_t))
O << TAI->getData32bitsDirective();
O << MAI->getData32bitsDirective();
else
O << TAI->getData64bitsDirective();
O << MAI->getData64bitsDirective();
PrintLabelName("label", *LI); Asm->EOL("low_pc");
}

View File

@ -60,8 +60,8 @@ void DwarfException::EmitCommonEHFrame(const Function *Personality,
// Begin eh frame section.
Asm->OutStreamer.SwitchSection(Asm->getObjFileLowering().getEHFrameSection());
if (TAI->is_EHSymbolPrivate())
O << TAI->getPrivateGlobalPrefix();
if (MAI->is_EHSymbolPrivate())
O << MAI->getPrivateGlobalPrefix();
O << "EH_frame" << Index << ":\n";
EmitLabel("section_eh_frame", Index);
@ -99,7 +99,7 @@ void DwarfException::EmitCommonEHFrame(const Function *Personality,
Asm->EmitULEB128Bytes(7);
Asm->EOL("Augmentation Size");
if (TAI->getNeedsIndirectEncoding()) {
if (MAI->getNeedsIndirectEncoding()) {
Asm->EmitInt8(dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4 |
dwarf::DW_EH_PE_indirect);
Asm->EOL("Personality (pcrel sdata4 indirect)");
@ -109,11 +109,11 @@ void DwarfException::EmitCommonEHFrame(const Function *Personality,
}
PrintRelDirective(true);
O << TAI->getPersonalityPrefix();
O << MAI->getPersonalityPrefix();
Asm->EmitExternalGlobal((const GlobalVariable *)(Personality));
O << TAI->getPersonalitySuffix();
if (strcmp(TAI->getPersonalitySuffix(), "+4@GOTPCREL"))
O << "-" << TAI->getPCSymbol();
O << MAI->getPersonalitySuffix();
if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL"))
O << "-" << MAI->getPCSymbol();
Asm->EOL("Personality");
Asm->EmitInt8(dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4);
@ -157,12 +157,12 @@ void DwarfException::EmitEHFrame(const FunctionEHFrameInfo &EHFrameInfo) {
// Externally visible entry into the functions eh frame info. If the
// corresponding function is static, this should not be externally visible.
if (!TheFunc->hasLocalLinkage())
if (const char *GlobalEHDirective = TAI->getGlobalEHDirective())
if (const char *GlobalEHDirective = MAI->getGlobalEHDirective())
O << GlobalEHDirective << EHFrameInfo.FnName << "\n";
// If corresponding function is weak definition, this should be too.
if (TheFunc->isWeakForLinker() && TAI->getWeakDefDirective())
O << TAI->getWeakDefDirective() << EHFrameInfo.FnName << "\n";
if (TheFunc->isWeakForLinker() && MAI->getWeakDefDirective())
O << MAI->getWeakDefDirective() << EHFrameInfo.FnName << "\n";
// If there are no calls then you can't unwind. This may mean we can omit the
// EH Frame, but some environments do not handle weak absolute symbols. If
@ -170,13 +170,13 @@ void DwarfException::EmitEHFrame(const FunctionEHFrameInfo &EHFrameInfo) {
// info is to be available for non-EH uses.
if (!EHFrameInfo.hasCalls && !UnwindTablesMandatory &&
(!TheFunc->isWeakForLinker() ||
!TAI->getWeakDefDirective() ||
TAI->getSupportsWeakOmittedEHFrame())) {
!MAI->getWeakDefDirective() ||
MAI->getSupportsWeakOmittedEHFrame())) {
O << EHFrameInfo.FnName << " = 0\n";
// This name has no connection to the function, so it might get
// dead-stripped when the function is not, erroneously. Prohibit
// dead-stripping unconditionally.
if (const char *UsedDirective = TAI->getUsedDirective())
if (const char *UsedDirective = MAI->getUsedDirective())
O << UsedDirective << EHFrameInfo.FnName << "\n\n";
} else {
O << EHFrameInfo.FnName << ":\n";
@ -233,7 +233,7 @@ void DwarfException::EmitEHFrame(const FunctionEHFrameInfo &EHFrameInfo) {
// on unused functions (calling undefined externals) being dead-stripped to
// link correctly. Yes, there really is.
if (MMI->isUsedFunction(EHFrameInfo.function))
if (const char *UsedDirective = TAI->getUsedDirective())
if (const char *UsedDirective = MAI->getUsedDirective())
O << UsedDirective << EHFrameInfo.FnName << "\n\n";
}
}
@ -430,7 +430,7 @@ ComputeCallSiteTable(SmallVectorImpl<CallSiteEntry> &CallSites,
// create a call-site entry with no landing pad for the region between the
// try-ranges.
if (SawPotentiallyThrowing &&
TAI->getExceptionHandlingType() == ExceptionHandling::Dwarf) {
MAI->getExceptionHandlingType() == ExceptionHandling::Dwarf) {
CallSiteEntry Site = { LastLabel, BeginLabel, 0, 0 };
CallSites.push_back(Site);
PreviousIsInvoke = false;
@ -472,7 +472,7 @@ ComputeCallSiteTable(SmallVectorImpl<CallSiteEntry> &CallSites,
// function may throw, create a call-site entry with no landing pad for the
// region following the try-range.
if (SawPotentiallyThrowing &&
TAI->getExceptionHandlingType() == ExceptionHandling::Dwarf) {
MAI->getExceptionHandlingType() == ExceptionHandling::Dwarf) {
CallSiteEntry Site = { LastLabel, 0, 0, 0 };
CallSites.push_back(Site);
}
@ -546,18 +546,18 @@ void DwarfException::EmitExceptionTable() {
const unsigned LandingPadSize = sizeof(int32_t); // DW_EH_PE_udata4
unsigned SizeSites;
bool HaveTTData = (TAI->getExceptionHandlingType() == ExceptionHandling::SjLj)
bool HaveTTData = (MAI->getExceptionHandlingType() == ExceptionHandling::SjLj)
? (!TypeInfos.empty() || !FilterIds.empty()) : true;
if (TAI->getExceptionHandlingType() == ExceptionHandling::SjLj) {
if (MAI->getExceptionHandlingType() == ExceptionHandling::SjLj) {
SizeSites = 0;
} else
SizeSites = CallSites.size() *
(SiteStartSize + SiteLengthSize + LandingPadSize);
for (unsigned i = 0, e = CallSites.size(); i < e; ++i) {
SizeSites += MCAsmInfo::getULEB128Size(CallSites[i].Action);
if (TAI->getExceptionHandlingType() == ExceptionHandling::SjLj)
if (MAI->getExceptionHandlingType() == ExceptionHandling::SjLj)
SizeSites += MCAsmInfo::getULEB128Size(i);
}
// Type infos.
@ -588,7 +588,7 @@ void DwarfException::EmitExceptionTable() {
}
EmitLabel("exception", SubprogramCount);
if (TAI->getExceptionHandlingType() == ExceptionHandling::SjLj) {
if (MAI->getExceptionHandlingType() == ExceptionHandling::SjLj) {
std::string SjLjName = "_lsda_";
SjLjName += MF->getFunction()->getName().str();
EmitLabel(SjLjName.c_str(), 0);
@ -657,7 +657,7 @@ void DwarfException::EmitExceptionTable() {
#endif
// SjLj Exception handilng
if (TAI->getExceptionHandlingType() == ExceptionHandling::SjLj) {
if (MAI->getExceptionHandlingType() == ExceptionHandling::SjLj) {
Asm->EmitInt8(dwarf::DW_EH_PE_udata4);
Asm->EOL("Call site format (DW_EH_PE_udata4)");
Asm->EmitULEB128Bytes(SizeSites);
@ -682,7 +682,7 @@ void DwarfException::EmitExceptionTable() {
}
} else {
// DWARF Exception handling
assert(TAI->getExceptionHandlingType() == ExceptionHandling::Dwarf);
assert(MAI->getExceptionHandlingType() == ExceptionHandling::Dwarf);
// The call-site table is a list of all call sites that may throw an
// exception (including C++ 'throw' statements) in the procedure
@ -836,7 +836,7 @@ void DwarfException::EmitExceptionTable() {
/// EndModule - Emit all exception information that should come after the
/// content.
void DwarfException::EndModule() {
if (TAI->getExceptionHandlingType() != ExceptionHandling::Dwarf)
if (MAI->getExceptionHandlingType() != ExceptionHandling::Dwarf)
return;
if (TimePassesIsEnabled)
ExceptionTimer->startTimer();
@ -864,7 +864,7 @@ void DwarfException::BeginFunction(MachineFunction *MF) {
this->MF = MF;
shouldEmitTable = shouldEmitMoves = false;
if (MMI && TAI->doesSupportExceptionHandling()) {
if (MMI && MAI->doesSupportExceptionHandling()) {
// Map all labels and get rid of any dead landing pads.
MMI->TidyLandingPads();

View File

@ -28,28 +28,28 @@ using namespace llvm;
Dwarf::Dwarf(raw_ostream &OS, AsmPrinter *A, const MCAsmInfo *T,
const char *flavor)
: O(OS), Asm(A), TAI(T), TD(Asm->TM.getTargetData()),
: O(OS), Asm(A), MAI(T), TD(Asm->TM.getTargetData()),
RI(Asm->TM.getRegisterInfo()), M(NULL), MF(NULL), MMI(NULL),
SubprogramCount(0), Flavor(flavor), SetCounter(1) {}
void Dwarf::PrintRelDirective(bool Force32Bit, bool isInSection) const {
if (isInSection && TAI->getDwarfSectionOffsetDirective())
O << TAI->getDwarfSectionOffsetDirective();
if (isInSection && MAI->getDwarfSectionOffsetDirective())
O << MAI->getDwarfSectionOffsetDirective();
else if (Force32Bit || TD->getPointerSize() == sizeof(int32_t))
O << TAI->getData32bitsDirective();
O << MAI->getData32bitsDirective();
else
O << TAI->getData64bitsDirective();
O << MAI->getData64bitsDirective();
}
/// PrintLabelName - Print label name in form used by Dwarf writer.
///
void Dwarf::PrintLabelName(const char *Tag, unsigned Number) const {
O << TAI->getPrivateGlobalPrefix() << Tag;
O << MAI->getPrivateGlobalPrefix() << Tag;
if (Number) O << Number;
}
void Dwarf::PrintLabelName(const char *Tag, unsigned Number,
const char *Suffix) const {
O << TAI->getPrivateGlobalPrefix() << Tag;
O << MAI->getPrivateGlobalPrefix() << Tag;
if (Number) O << Number;
O << Suffix;
}
@ -67,13 +67,13 @@ void Dwarf::EmitReference(const char *Tag, unsigned Number,
bool IsPCRelative, bool Force32Bit) const {
PrintRelDirective(Force32Bit);
PrintLabelName(Tag, Number);
if (IsPCRelative) O << "-" << TAI->getPCSymbol();
if (IsPCRelative) O << "-" << MAI->getPCSymbol();
}
void Dwarf::EmitReference(const std::string &Name, bool IsPCRelative,
bool Force32Bit) const {
PrintRelDirective(Force32Bit);
O << Name;
if (IsPCRelative) O << "-" << TAI->getPCSymbol();
if (IsPCRelative) O << "-" << MAI->getPCSymbol();
}
/// EmitDifference - Emit the difference between two labels. Some assemblers do
@ -82,7 +82,7 @@ void Dwarf::EmitReference(const std::string &Name, bool IsPCRelative,
void Dwarf::EmitDifference(const char *TagHi, unsigned NumberHi,
const char *TagLo, unsigned NumberLo,
bool IsSmall) {
if (TAI->needsSet()) {
if (MAI->needsSet()) {
O << "\t.set\t";
PrintLabelName("set", SetCounter, Flavor);
O << ",";
@ -108,11 +108,11 @@ void Dwarf::EmitSectionOffset(const char* Label, const char* Section,
bool useSet) {
bool printAbsolute = false;
if (isEH)
printAbsolute = TAI->isAbsoluteEHSectionOffsets();
printAbsolute = MAI->isAbsoluteEHSectionOffsets();
else
printAbsolute = TAI->isAbsoluteDebugSectionOffsets();
printAbsolute = MAI->isAbsoluteDebugSectionOffsets();
if (TAI->needsSet() && useSet) {
if (MAI->needsSet() && useSet) {
O << "\t.set\t";
PrintLabelName("set", SetCounter, Flavor);
O << ",";

View File

@ -43,9 +43,9 @@ namespace llvm {
///
AsmPrinter *Asm;
/// TAI - Target asm information.
/// MAI - Target asm information.
///
const MCAsmInfo *TAI;
const MCAsmInfo *MAI;
/// TD - Target data.
///
@ -88,7 +88,7 @@ namespace llvm {
//
const AsmPrinter *getAsm() const { return Asm; }
MachineModuleInfo *getMMI() const { return MMI; }
const MCAsmInfo *getMCAsmInfo() const { return TAI; }
const MCAsmInfo *getMCAsmInfo() const { return MAI; }
const TargetData *getTargetData() const { return TD; }
void PrintRelDirective(bool Force32Bit = false,

View File

@ -30,10 +30,10 @@ namespace {
class VISIBILITY_HIDDEN OcamlGCMetadataPrinter : public GCMetadataPrinter {
public:
void beginAssembly(raw_ostream &OS, AsmPrinter &AP,
const MCAsmInfo &TAI);
const MCAsmInfo &MAI);
void finishAssembly(raw_ostream &OS, AsmPrinter &AP,
const MCAsmInfo &TAI);
const MCAsmInfo &MAI);
};
}
@ -44,11 +44,11 @@ Y("ocaml", "ocaml 3.10-compatible collector");
void llvm::linkOcamlGCPrinter() { }
static void EmitCamlGlobal(const Module &M, raw_ostream &OS, AsmPrinter &AP,
const MCAsmInfo &TAI, const char *Id) {
const MCAsmInfo &MAI, const char *Id) {
const std::string &MId = M.getModuleIdentifier();
std::string Mangled;
Mangled += TAI.getGlobalPrefix();
Mangled += MAI.getGlobalPrefix();
Mangled += "caml";
size_t Letter = Mangled.size();
Mangled.append(MId.begin(), std::find(MId.begin(), MId.end(), '.'));
@ -58,18 +58,18 @@ static void EmitCamlGlobal(const Module &M, raw_ostream &OS, AsmPrinter &AP,
// Capitalize the first letter of the module name.
Mangled[Letter] = toupper(Mangled[Letter]);
if (const char *GlobalDirective = TAI.getGlobalDirective())
if (const char *GlobalDirective = MAI.getGlobalDirective())
OS << GlobalDirective << Mangled << "\n";
OS << Mangled << ":\n";
}
void OcamlGCMetadataPrinter::beginAssembly(raw_ostream &OS, AsmPrinter &AP,
const MCAsmInfo &TAI) {
const MCAsmInfo &MAI) {
AP.OutStreamer.SwitchSection(AP.getObjFileLowering().getTextSection());
EmitCamlGlobal(getModule(), OS, AP, TAI, "code_begin");
EmitCamlGlobal(getModule(), OS, AP, MAI, "code_begin");
AP.OutStreamer.SwitchSection(AP.getObjFileLowering().getDataSection());
EmitCamlGlobal(getModule(), OS, AP, TAI, "data_begin");
EmitCamlGlobal(getModule(), OS, AP, MAI, "data_begin");
}
/// emitAssembly - Print the frametable. The ocaml frametable format is thus:
@ -89,28 +89,28 @@ void OcamlGCMetadataPrinter::beginAssembly(raw_ostream &OS, AsmPrinter &AP,
/// either condition is detected in a function which uses the GC.
///
void OcamlGCMetadataPrinter::finishAssembly(raw_ostream &OS, AsmPrinter &AP,
const MCAsmInfo &TAI) {
const MCAsmInfo &MAI) {
const char *AddressDirective;
int AddressAlignLog;
if (AP.TM.getTargetData()->getPointerSize() == sizeof(int32_t)) {
AddressDirective = TAI.getData32bitsDirective();
AddressDirective = MAI.getData32bitsDirective();
AddressAlignLog = 2;
} else {
AddressDirective = TAI.getData64bitsDirective();
AddressDirective = MAI.getData64bitsDirective();
AddressAlignLog = 3;
}
AP.OutStreamer.SwitchSection(AP.getObjFileLowering().getTextSection());
EmitCamlGlobal(getModule(), OS, AP, TAI, "code_end");
EmitCamlGlobal(getModule(), OS, AP, MAI, "code_end");
AP.OutStreamer.SwitchSection(AP.getObjFileLowering().getDataSection());
EmitCamlGlobal(getModule(), OS, AP, TAI, "data_end");
EmitCamlGlobal(getModule(), OS, AP, MAI, "data_end");
OS << AddressDirective << 0; // FIXME: Why does ocaml emit this??
AP.EOL();
AP.OutStreamer.SwitchSection(AP.getObjFileLowering().getDataSection());
EmitCamlGlobal(getModule(), OS, AP, TAI, "frametable");
EmitCamlGlobal(getModule(), OS, AP, MAI, "frametable");
for (iterator I = begin(), IE = end(); I != IE; ++I) {
GCFunctionInfo &FI = **I;
@ -126,7 +126,7 @@ void OcamlGCMetadataPrinter::finishAssembly(raw_ostream &OS, AsmPrinter &AP,
llvm_report_error(Msg.str()); // Very rude!
}
OS << "\t" << TAI.getCommentString() << " live roots for "
OS << "\t" << MAI.getCommentString() << " live roots for "
<< FI.getFunction().getName() << "\n";
for (GCFunctionInfo::iterator J = FI.begin(), JE = FI.end(); J != JE; ++J) {
@ -141,7 +141,7 @@ void OcamlGCMetadataPrinter::finishAssembly(raw_ostream &OS, AsmPrinter &AP,
}
OS << AddressDirective
<< TAI.getPrivateGlobalPrefix() << "label" << J->Num;
<< MAI.getPrivateGlobalPrefix() << "label" << J->Num;
AP.EOL("call return address");
AP.EmitInt16(FrameSize);

View File

@ -80,7 +80,7 @@ ELFWriter::ELFWriter(raw_ostream &o, TargetMachine &tm)
isLittleEndian(TM.getTargetData()->isLittleEndian()),
ElfHdr(isLittleEndian, is64Bit) {
TAI = TM.getMCAsmInfo();
MAI = TM.getMCAsmInfo();
TEW = TM.getELFWriterInfo();
// Create the object code emitter object for this target.
@ -687,7 +687,7 @@ bool ELFWriter::doFinalization(Module &M) {
SymbolList.push_back(ELFSym::getExtSym(*I));
// Emit non-executable stack note
if (TAI->getNonexecutableStackDirective())
if (MAI->getNonexecutableStackDirective())
getNonExecStackSection();
// Emit a symbol for each section created until now, skip null section

View File

@ -86,9 +86,9 @@ namespace llvm {
/// and other object file specific stuff
const TargetLoweringObjectFile &TLOF;
/// TAI - Target Asm Info, provide information about section names for
/// MAI - Target Asm Info, provide information about section names for
/// globals and other target specific stuff.
const MCAsmInfo *TAI;
const MCAsmInfo *MAI;
//===------------------------------------------------------------------===//
// Properties inferred automatically from the target machine.
@ -118,7 +118,7 @@ namespace llvm {
unsigned NumSections; // Always = SectionList.size()
/// SectionLookup - This is a mapping from section name to section number in
/// the SectionList. Used to quickly gather the Section Index from TAI names
/// the SectionList. Used to quickly gather the Section Index from MAI names
std::map<std::string, ELFSection*> SectionLookup;
/// PendingGlobals - Globals not processed as symbols yet.

View File

@ -20,11 +20,11 @@ GCMetadataPrinter::GCMetadataPrinter() { }
GCMetadataPrinter::~GCMetadataPrinter() { }
void GCMetadataPrinter::beginAssembly(raw_ostream &OS, AsmPrinter &AP,
const MCAsmInfo &TAI) {
const MCAsmInfo &MAI) {
// Default is no action.
}
void GCMetadataPrinter::finishAssembly(raw_ostream &OS, AsmPrinter &AP,
const MCAsmInfo &TAI) {
const MCAsmInfo &MAI) {
// Default is no action.
}

View File

@ -68,7 +68,7 @@ struct MachOSym {
};
MachOSym(const GlobalValue *gv, std::string name, uint8_t sect,
const MCAsmInfo *TAI);
const MCAsmInfo *MAI);
struct SymCmp {
// FIXME: this does not appear to be sorting 'f' after 'F'

View File

@ -35,7 +35,7 @@ MachOCodeEmitter::MachOCodeEmitter(MachOWriter &mow, MachOSection &mos) :
ObjectCodeEmitter(&mos), MOW(mow), TM(MOW.TM) {
is64Bit = TM.getTargetData()->getPointerSizeInBits() == 64;
isLittleEndian = TM.getTargetData()->isLittleEndian();
TAI = TM.getMCAsmInfo();
MAI = TM.getMCAsmInfo();
}
/// startFunction - This callback is invoked when a new machine function is
@ -61,7 +61,7 @@ void MachOCodeEmitter::startFunction(MachineFunction &MF) {
// Create symbol for function entry
const GlobalValue *FuncV = MF.getFunction();
MachOSym FnSym(FuncV, MOW.Mang->getMangledName(FuncV), MOS->Index, TAI);
MachOSym FnSym(FuncV, MOW.Mang->getMangledName(FuncV), MOS->Index, MAI);
FnSym.n_value = getCurrentPCOffset();
// add it to the symtab.

View File

@ -30,7 +30,7 @@ class MachOCodeEmitter : public ObjectCodeEmitter {
/// machine directly, indicating what header values and flags to set.
bool is64Bit, isLittleEndian;
const MCAsmInfo *TAI;
const MCAsmInfo *MAI;
/// Relocations - These are the relocations that the function needs, as
/// emitted.

View File

@ -61,7 +61,7 @@ MachOWriter::MachOWriter(raw_ostream &o, TargetMachine &tm)
is64Bit = TM.getTargetData()->getPointerSizeInBits() == 64;
isLittleEndian = TM.getTargetData()->isLittleEndian();
TAI = TM.getMCAsmInfo();
MAI = TM.getMCAsmInfo();
// Create the machine code emitter object for this target.
MachOCE = new MachOCodeEmitter(*this, *getTextSection(true));
@ -221,7 +221,7 @@ void MachOWriter::AddSymbolToSection(MachOSection *Sec, GlobalVariable *GV) {
}
// Globals without external linkage apparently do not go in the symbol table.
if (!GV->hasLocalLinkage()) {
MachOSym Sym(GV, Mang->getMangledName(GV), Sec->Index, TAI);
MachOSym Sym(GV, Mang->getMangledName(GV), Sec->Index, MAI);
Sym.n_value = Sec->size();
SymbolTable.push_back(Sym);
}
@ -256,7 +256,7 @@ void MachOWriter::EmitGlobal(GlobalVariable *GV) {
if (NoInit || GV->hasLinkOnceLinkage() || GV->hasWeakLinkage() ||
GV->hasCommonLinkage()) {
MachOSym ExtOrCommonSym(GV, Mang->getMangledName(GV),
MachOSym::NO_SECT, TAI);
MachOSym::NO_SECT, MAI);
// For undefined (N_UNDF) external (N_EXT) types, n_value is the size in
// bytes of the symbol.
ExtOrCommonSym.n_value = Size;
@ -454,7 +454,7 @@ void MachOWriter::BufferSymbolAndStringTable() {
for (std::vector<GlobalValue*>::iterator I = PendingGlobals.begin(),
E = PendingGlobals.end(); I != E; ++I) {
if (GVOffset[*I] == 0 && GVSection[*I] == 0) {
MachOSym UndfSym(*I, Mang->getMangledName(*I), MachOSym::NO_SECT, TAI);
MachOSym UndfSym(*I, Mang->getMangledName(*I), MachOSym::NO_SECT, MAI);
SymbolTable.push_back(UndfSym);
GVOffset[*I] = -1;
}
@ -743,7 +743,7 @@ void MachOWriter::InitMem(const Constant *C, uintptr_t Offset,
//===----------------------------------------------------------------------===//
MachOSym::MachOSym(const GlobalValue *gv, std::string name, uint8_t sect,
const MCAsmInfo *TAI) :
const MCAsmInfo *MAI) :
GV(gv), n_strx(0), n_type(sect == NO_SECT ? N_UNDF : N_SECT), n_sect(sect),
n_desc(0), n_value(0) {
@ -759,17 +759,17 @@ MachOSym::MachOSym(const GlobalValue *gv, std::string name, uint8_t sect,
case GlobalValue::CommonLinkage:
assert(!isa<Function>(gv) && "Unexpected linkage type for Function!");
case GlobalValue::ExternalLinkage:
GVName = TAI->getGlobalPrefix() + name;
GVName = MAI->getGlobalPrefix() + name;
n_type |= GV->hasHiddenVisibility() ? N_PEXT : N_EXT;
break;
case GlobalValue::PrivateLinkage:
GVName = TAI->getPrivateGlobalPrefix() + name;
GVName = MAI->getPrivateGlobalPrefix() + name;
break;
case GlobalValue::LinkerPrivateLinkage:
GVName = TAI->getLinkerPrivateGlobalPrefix() + name;
GVName = MAI->getLinkerPrivateGlobalPrefix() + name;
break;
case GlobalValue::InternalLinkage:
GVName = TAI->getGlobalPrefix() + name;
GVName = MAI->getGlobalPrefix() + name;
break;
}
}

View File

@ -78,7 +78,7 @@ namespace llvm {
bool is64Bit, isLittleEndian;
// Target Asm Info
const MCAsmInfo *TAI;
const MCAsmInfo *MAI;
/// Header - An instance of MachOHeader that we will update while we build
/// the file, and then emit during finalization.

View File

@ -66,7 +66,7 @@ MCAsmInfo::MCAsmInfo() {
UsedDirective = 0;
WeakRefDirective = 0;
WeakDefDirective = 0;
// FIXME: These are ELFish - move to ELFTAI.
// FIXME: These are ELFish - move to ELFMAI.
HiddenDirective = "\t.hidden\t";
ProtectedDirective = "\t.protected\t";
AbsoluteDebugSectionOffsets = false;

View File

@ -24,12 +24,12 @@ namespace {
class MCAsmStreamer : public MCStreamer {
raw_ostream &OS;
const MCAsmInfo &TAI;
const MCAsmInfo &MAI;
AsmPrinter *Printer;
public:
MCAsmStreamer(MCContext &Context, raw_ostream &_OS, const MCAsmInfo &tai,
AsmPrinter *_AsmPrinter)
: MCStreamer(Context), OS(_OS), TAI(tai), Printer(_AsmPrinter) {}
: MCStreamer(Context), OS(_OS), MAI(tai), Printer(_AsmPrinter) {}
~MCAsmStreamer() {}
/// @name MCStreamer Interface
@ -102,7 +102,7 @@ void MCAsmStreamer::SwitchSection(const MCSection *Section) {
assert(Section && "Cannot switch to a null section!");
if (Section != CurSection) {
CurSection = Section;
Section->PrintSwitchToSection(TAI, OS);
Section->PrintSwitchToSection(MAI, OS);
}
}
@ -230,14 +230,14 @@ void MCAsmStreamer::EmitValueToAlignment(unsigned ByteAlignment, int64_t Value,
if (isPowerOf2_32(ByteAlignment)) {
switch (ValueSize) {
default: llvm_unreachable("Invalid size for machine code value!");
case 1: OS << TAI.getAlignDirective(); break;
// FIXME: use TAI for this!
case 1: OS << MAI.getAlignDirective(); break;
// FIXME: use MAI for this!
case 2: OS << ".p2alignw "; break;
case 4: OS << ".p2alignl "; break;
case 8: llvm_unreachable("Unsupported alignment size!");
}
if (TAI.getAlignmentIsInBytes())
if (MAI.getAlignmentIsInBytes())
OS << ByteAlignment;
else
OS << Log2_32(ByteAlignment);
@ -253,7 +253,7 @@ void MCAsmStreamer::EmitValueToAlignment(unsigned ByteAlignment, int64_t Value,
}
// Non-power of two alignment. This is not widely supported by assemblers.
// FIXME: Parameterize this based on TAI.
// FIXME: Parameterize this based on MAI.
switch (ValueSize) {
default: llvm_unreachable("Invalid size for machine code value!");
case 1: OS << ".balign"; break;
@ -314,6 +314,6 @@ void MCAsmStreamer::Finish() {
}
MCStreamer *llvm::createAsmStreamer(MCContext &Context, raw_ostream &OS,
const MCAsmInfo &TAI, AsmPrinter *AP) {
return new MCAsmStreamer(Context, OS, TAI, AP);
const MCAsmInfo &MAI, AsmPrinter *AP) {
return new MCAsmStreamer(Context, OS, MAI, AP);
}

View File

@ -29,7 +29,7 @@ Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx) {
return new (Ctx) MCSectionCOFF(Name, IsDirective, K);
}
void MCSectionCOFF::PrintSwitchToSection(const MCAsmInfo &TAI,
void MCSectionCOFF::PrintSwitchToSection(const MCAsmInfo &MAI,
raw_ostream &OS) const {
if (isDirective()) {

View File

@ -23,13 +23,13 @@ Create(const StringRef &Section, unsigned Type, unsigned Flags,
// ShouldOmitSectionDirective - Decides whether a '.section' directive
// should be printed before the section name
bool MCSectionELF::ShouldOmitSectionDirective(const char *Name,
const MCAsmInfo &TAI) const {
const MCAsmInfo &MAI) const {
// FIXME: Does .section .bss/.data/.text work everywhere??
if (strcmp(Name, ".text") == 0 ||
strcmp(Name, ".data") == 0 ||
(strcmp(Name, ".bss") == 0 &&
!TAI.usesELFSectionDirectiveForBSS()))
!MAI.usesELFSectionDirectiveForBSS()))
return true;
return false;
@ -44,10 +44,10 @@ bool MCSectionELF::ShouldPrintSectionType(unsigned Ty) const {
return true;
}
void MCSectionELF::PrintSwitchToSection(const MCAsmInfo &TAI,
void MCSectionELF::PrintSwitchToSection(const MCAsmInfo &MAI,
raw_ostream &OS) const {
if (ShouldOmitSectionDirective(SectionName.c_str(), TAI)) {
if (ShouldOmitSectionDirective(SectionName.c_str(), MAI)) {
OS << '\t' << getSectionName() << '\n';
return;
}
@ -55,7 +55,7 @@ void MCSectionELF::PrintSwitchToSection(const MCAsmInfo &TAI,
OS << "\t.section\t" << getSectionName();
// Handle the weird solaris syntax if desired.
if (TAI.usesSunStyleELFSectionSwitchSyntax() &&
if (MAI.usesSunStyleELFSectionSwitchSyntax() &&
!(Flags & MCSectionELF::SHF_MERGE)) {
if (Flags & MCSectionELF::SHF_ALLOC)
OS << ",#alloc";
@ -82,7 +82,7 @@ void MCSectionELF::PrintSwitchToSection(const MCAsmInfo &TAI,
// If there are target-specific flags, print them.
if (Flags & ~MCSectionELF::TARGET_INDEP_SHF)
PrintTargetSpecificSectionFlags(TAI, OS);
PrintTargetSpecificSectionFlags(MAI, OS);
OS << '"';
@ -90,7 +90,7 @@ void MCSectionELF::PrintSwitchToSection(const MCAsmInfo &TAI,
OS << ',';
// If comment string is '@', e.g. as on ARM - use '%' instead
if (TAI.getCommentString()[0] == '@')
if (MAI.getCommentString()[0] == '@')
OS << '%';
else
OS << '@';

View File

@ -72,7 +72,7 @@ Create(const StringRef &Segment, const StringRef &Section,
Reserved2, K);
}
void MCSectionMachO::PrintSwitchToSection(const MCAsmInfo &TAI,
void MCSectionMachO::PrintSwitchToSection(const MCAsmInfo &MAI,
raw_ostream &OS) const {
OS << "\t.section\t" << getSegmentName() << ',' << getSectionName();

View File

@ -405,7 +405,7 @@ static unsigned getNumJTEntries(const std::vector<MachineJumpTableEntry> &JT,
unsigned ARMBaseInstrInfo::GetInstSizeInBytes(const MachineInstr *MI) const {
const MachineBasicBlock &MBB = *MI->getParent();
const MachineFunction *MF = MBB.getParent();
const MCAsmInfo *TAI = MF->getTarget().getMCAsmInfo();
const MCAsmInfo *MAI = MF->getTarget().getMCAsmInfo();
// Basic size info comes from the TSFlags field.
const TargetInstrDesc &TID = MI->getDesc();
@ -416,7 +416,7 @@ unsigned ARMBaseInstrInfo::GetInstSizeInBytes(const MachineInstr *MI) const {
default: {
// If this machine instr is an inline asm, measure it.
if (MI->getOpcode() == ARM::INLINEASM)
return getInlineAsmLength(MI->getOperand(0).getSymbolName(), *TAI);
return getInlineAsmLength(MI->getOperand(0).getSymbolName(), *MAI);
if (MI->isLabel())
return 0;
switch (Opc) {

View File

@ -221,7 +221,7 @@ namespace {
if (ACPV->hasModifier()) O << "(" << ACPV->getModifier() << ")";
if (ACPV->getPCAdjustment() != 0) {
O << "-(" << TAI->getPrivateGlobalPrefix() << "PC"
O << "-(" << MAI->getPrivateGlobalPrefix() << "PC"
<< ACPV->getLabelId()
<< "+" << (unsigned)ACPV->getPCAdjustment();
if (ACPV->mustAddCurrentAddress())
@ -280,7 +280,7 @@ bool ARMAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
O << "\t.globl\t" << CurrentFnName << "\n";
O << "\t.weak_definition\t" << CurrentFnName << "\n";
} else {
O << TAI->getWeakRefDirective() << CurrentFnName << "\n";
O << MAI->getWeakRefDirective() << CurrentFnName << "\n";
}
break;
}
@ -328,7 +328,7 @@ bool ARMAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
}
}
if (TAI->hasDotTypeDotSizeDirective())
if (MAI->hasDotTypeDotSizeDirective())
O << "\t.size " << CurrentFnName << ", .-" << CurrentFnName << "\n";
// Emit post-function debug information.
@ -410,11 +410,11 @@ void ARMAsmPrinter::printOperand(const MachineInstr *MI, int OpNum,
break;
}
case MachineOperand::MO_ConstantPoolIndex:
O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber()
<< '_' << MO.getIndex();
break;
case MachineOperand::MO_JumpTableIndex:
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << MO.getIndex();
break;
default:
@ -423,7 +423,7 @@ void ARMAsmPrinter::printOperand(const MachineInstr *MI, int OpNum,
}
static void printSOImm(formatted_raw_ostream &O, int64_t V, bool VerboseAsm,
const MCAsmInfo *TAI) {
const MCAsmInfo *MAI) {
// Break it up into two parts that make up a shifter immediate.
V = ARM_AM::getSOImmVal(V);
assert(V != -1 && "Not a valid so_imm value!");
@ -437,7 +437,7 @@ static void printSOImm(formatted_raw_ostream &O, int64_t V, bool VerboseAsm,
O << "#" << Imm << ", " << Rot;
// Pretty printed version.
if (VerboseAsm)
O << ' ' << TAI->getCommentString()
O << ' ' << MAI->getCommentString()
<< ' ' << (int)ARM_AM::rotr32(Imm, Rot);
} else {
O << "#" << Imm;
@ -449,7 +449,7 @@ static void printSOImm(formatted_raw_ostream &O, int64_t V, bool VerboseAsm,
void ARMAsmPrinter::printSOImmOperand(const MachineInstr *MI, int OpNum) {
const MachineOperand &MO = MI->getOperand(OpNum);
assert(MO.isImm() && "Not a valid so_imm value!");
printSOImm(O, MO.getImm(), VerboseAsm, TAI);
printSOImm(O, MO.getImm(), VerboseAsm, MAI);
}
/// printSOImm2PartOperand - SOImm is broken into two pieces using a 'mov'
@ -459,7 +459,7 @@ void ARMAsmPrinter::printSOImm2PartOperand(const MachineInstr *MI, int OpNum) {
assert(MO.isImm() && "Not a valid so_imm value!");
unsigned V1 = ARM_AM::getSOImmTwoPartFirst(MO.getImm());
unsigned V2 = ARM_AM::getSOImmTwoPartSecond(MO.getImm());
printSOImm(O, V1, VerboseAsm, TAI);
printSOImm(O, V1, VerboseAsm, MAI);
O << "\n\torr";
printPredicateOperand(MI, 2);
O << " ";
@ -467,7 +467,7 @@ void ARMAsmPrinter::printSOImm2PartOperand(const MachineInstr *MI, int OpNum) {
O << ", ";
printOperand(MI, 0);
O << ", ";
printSOImm(O, V2, VerboseAsm, TAI);
printSOImm(O, V2, VerboseAsm, MAI);
}
// so_reg is a 4-operand unit corresponding to register forms of the A5.1
@ -881,7 +881,7 @@ void ARMAsmPrinter::printSBitModifierOperand(const MachineInstr *MI, int OpNum){
void ARMAsmPrinter::printPCLabel(const MachineInstr *MI, int OpNum) {
int Id = (int)MI->getOperand(OpNum).getImm();
O << TAI->getPrivateGlobalPrefix() << "PC" << Id;
O << MAI->getPrivateGlobalPrefix() << "PC" << Id;
}
void ARMAsmPrinter::printRegisterList(const MachineInstr *MI, int OpNum) {
@ -902,7 +902,7 @@ void ARMAsmPrinter::printCPInstOperand(const MachineInstr *MI, int OpNum,
// data itself.
if (!strcmp(Modifier, "label")) {
unsigned ID = MI->getOperand(OpNum).getImm();
O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber()
<< '_' << ID << ":\n";
} else {
assert(!strcmp(Modifier, "cpentry") && "Unknown modifier for CPE");
@ -924,16 +924,16 @@ void ARMAsmPrinter::printJTBlockOperand(const MachineInstr *MI, int OpNum) {
const MachineOperand &MO1 = MI->getOperand(OpNum);
const MachineOperand &MO2 = MI->getOperand(OpNum+1); // Unique Id
unsigned JTI = MO1.getIndex();
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << JTI << '_' << MO2.getImm() << ":\n";
const char *JTEntryDirective = TAI->getData32bitsDirective();
const char *JTEntryDirective = MAI->getData32bitsDirective();
const MachineFunction *MF = MI->getParent()->getParent();
const MachineJumpTableInfo *MJTI = MF->getJumpTableInfo();
const std::vector<MachineJumpTableEntry> &JT = MJTI->getJumpTables();
const std::vector<MachineBasicBlock*> &JTBBs = JT[JTI].MBBs;
bool UseSet= TAI->getSetDirective() && TM.getRelocationModel() == Reloc::PIC_;
bool UseSet= MAI->getSetDirective() && TM.getRelocationModel() == Reloc::PIC_;
SmallPtrSet<MachineBasicBlock*, 8> JTSets;
for (unsigned i = 0, e = JTBBs.size(); i != e; ++i) {
MachineBasicBlock *MBB = JTBBs[i];
@ -944,12 +944,12 @@ void ARMAsmPrinter::printJTBlockOperand(const MachineInstr *MI, int OpNum) {
O << JTEntryDirective << ' ';
if (UseSet)
O << TAI->getPrivateGlobalPrefix() << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << getFunctionNumber()
<< '_' << JTI << '_' << MO2.getImm()
<< "_set_" << MBB->getNumber();
else if (TM.getRelocationModel() == Reloc::PIC_) {
printBasicBlockLabel(MBB, false, false, false);
O << '-' << TAI->getPrivateGlobalPrefix() << "JTI"
O << '-' << MAI->getPrivateGlobalPrefix() << "JTI"
<< getFunctionNumber() << '_' << JTI << '_' << MO2.getImm();
} else {
printBasicBlockLabel(MBB, false, false, false);
@ -963,7 +963,7 @@ void ARMAsmPrinter::printJT2BlockOperand(const MachineInstr *MI, int OpNum) {
const MachineOperand &MO1 = MI->getOperand(OpNum);
const MachineOperand &MO2 = MI->getOperand(OpNum+1); // Unique Id
unsigned JTI = MO1.getIndex();
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << JTI << '_' << MO2.getImm() << ":\n";
const MachineFunction *MF = MI->getParent()->getParent();
@ -979,13 +979,13 @@ void ARMAsmPrinter::printJT2BlockOperand(const MachineInstr *MI, int OpNum) {
for (unsigned i = 0, e = JTBBs.size(); i != e; ++i) {
MachineBasicBlock *MBB = JTBBs[i];
if (ByteOffset)
O << TAI->getData8bitsDirective();
O << MAI->getData8bitsDirective();
else if (HalfWordOffset)
O << TAI->getData16bitsDirective();
O << MAI->getData16bitsDirective();
if (ByteOffset || HalfWordOffset) {
O << '(';
printBasicBlockLabel(MBB, false, false, false);
O << "-" << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << "-" << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << JTI << '_' << MO2.getImm() << ")/2";
} else {
O << "\tb.w ";
@ -1172,7 +1172,7 @@ void ARMAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
// Don't put things that should go in the cstring section into "comm".
!TheSection->getKind().isMergeableCString()) {
if (GVar->hasExternalLinkage()) {
if (const char *Directive = TAI->getZeroFillDirective()) {
if (const char *Directive = MAI->getZeroFillDirective()) {
O << "\t.globl\t" << name << "\n";
O << Directive << "__DATA, __common, " << name << ", "
<< Size << ", " << Align << "\n";
@ -1185,42 +1185,42 @@ void ARMAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
if (isDarwin) {
if (GVar->hasLocalLinkage()) {
O << TAI->getLCOMMDirective() << name << "," << Size
O << MAI->getLCOMMDirective() << name << "," << Size
<< ',' << Align;
} else if (GVar->hasCommonLinkage()) {
O << TAI->getCOMMDirective() << name << "," << Size
O << MAI->getCOMMDirective() << name << "," << Size
<< ',' << Align;
} else {
OutStreamer.SwitchSection(TheSection);
O << "\t.globl " << name << '\n'
<< TAI->getWeakDefDirective() << name << '\n';
<< MAI->getWeakDefDirective() << name << '\n';
EmitAlignment(Align, GVar);
O << name << ":";
if (VerboseAsm) {
O << "\t\t\t\t" << TAI->getCommentString() << ' ';
O << "\t\t\t\t" << MAI->getCommentString() << ' ';
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
}
O << '\n';
EmitGlobalConstant(C);
return;
}
} else if (TAI->getLCOMMDirective() != NULL) {
} else if (MAI->getLCOMMDirective() != NULL) {
if (GVar->hasLocalLinkage()) {
O << TAI->getLCOMMDirective() << name << "," << Size;
O << MAI->getLCOMMDirective() << name << "," << Size;
} else {
O << TAI->getCOMMDirective() << name << "," << Size;
if (TAI->getCOMMDirectiveTakesAlignment())
O << ',' << (TAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
O << MAI->getCOMMDirective() << name << "," << Size;
if (MAI->getCOMMDirectiveTakesAlignment())
O << ',' << (MAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
}
} else {
if (GVar->hasLocalLinkage())
O << "\t.local\t" << name << "\n";
O << TAI->getCOMMDirective() << name << "," << Size;
if (TAI->getCOMMDirectiveTakesAlignment())
O << "," << (TAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
O << MAI->getCOMMDirective() << name << "," << Size;
if (MAI->getCOMMDirectiveTakesAlignment())
O << "," << (MAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
}
if (VerboseAsm) {
O << "\t\t" << TAI->getCommentString() << " ";
O << "\t\t" << MAI->getCommentString() << " ";
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
}
O << "\n";
@ -1258,11 +1258,11 @@ void ARMAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
EmitAlignment(Align, GVar);
O << name << ":";
if (VerboseAsm) {
O << "\t\t\t\t" << TAI->getCommentString() << " ";
O << "\t\t\t\t" << MAI->getCommentString() << " ";
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
}
O << "\n";
if (TAI->hasDotTypeDotSizeDirective())
if (MAI->hasDotTypeDotSizeDirective())
O << "\t.size " << name << ", " << Size << "\n";
EmitGlobalConstant(C);

View File

@ -99,7 +99,7 @@ void AlphaAsmPrinter::printOp(const MachineOperand &MO, bool IsCallOp) {
return;
case MachineOperand::MO_ConstantPoolIndex:
O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << "_"
O << MAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << "_"
<< MO.getIndex();
return;
@ -112,7 +112,7 @@ void AlphaAsmPrinter::printOp(const MachineOperand &MO, bool IsCallOp) {
return;
case MachineOperand::MO_JumpTableIndex:
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << MO.getIndex();
return;
@ -155,7 +155,7 @@ bool AlphaAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
case Function::WeakODRLinkage:
case Function::LinkOnceAnyLinkage:
case Function::LinkOnceODRLinkage:
O << TAI->getWeakRefDirective() << CurrentFnName << "\n";
O << MAI->getWeakRefDirective() << CurrentFnName << "\n";
break;
}
@ -224,11 +224,11 @@ void AlphaAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
case GlobalValue::WeakAnyLinkage:
case GlobalValue::WeakODRLinkage:
case GlobalValue::CommonLinkage:
O << TAI->getWeakRefDirective() << name << '\n';
O << MAI->getWeakRefDirective() << name << '\n';
break;
case GlobalValue::AppendingLinkage:
case GlobalValue::ExternalLinkage:
O << TAI->getGlobalDirective() << name << "\n";
O << MAI->getGlobalDirective() << name << "\n";
break;
case GlobalValue::InternalLinkage:
case GlobalValue::PrivateLinkage:
@ -239,7 +239,7 @@ void AlphaAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
}
// 3: Type, Size, Align
if (TAI->hasDotTypeDotSizeDirective()) {
if (MAI->hasDotTypeDotSizeDirective()) {
O << "\t.type\t" << name << ", @object\n";
O << "\t.size\t" << name << ", " << Size << "\n";
}

View File

@ -40,8 +40,8 @@ namespace {
class VISIBILITY_HIDDEN BlackfinAsmPrinter : public AsmPrinter {
public:
BlackfinAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
const MCAsmInfo *TAI, bool V)
: AsmPrinter(O, TM, TAI, V) {}
const MCAsmInfo *MAI, bool V)
: AsmPrinter(O, TM, MAI, V) {}
virtual const char *getPassName() const {
return "Blackfin Assembly Printer";
@ -75,14 +75,14 @@ void BlackfinAsmPrinter::emitLinkage(const std::string &name,
case GlobalValue::LinkerPrivateLinkage:
break;
case GlobalValue::ExternalLinkage:
O << TAI->getGlobalDirective() << name << "\n";
O << MAI->getGlobalDirective() << name << "\n";
break;
case GlobalValue::LinkOnceAnyLinkage:
case GlobalValue::LinkOnceODRLinkage:
case GlobalValue::WeakAnyLinkage:
case GlobalValue::WeakODRLinkage:
O << TAI->getGlobalDirective() << name << "\n";
O << TAI->getWeakDefDirective() << name << "\n";
O << MAI->getGlobalDirective() << name << "\n";
O << MAI->getWeakDefDirective() << name << "\n";
break;
}
}
@ -180,11 +180,11 @@ void BlackfinAsmPrinter::printOperand(const MachineInstr *MI, int opNum) {
O << Mang->makeNameProper(MO.getSymbolName());
break;
case MachineOperand::MO_ConstantPoolIndex:
O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << "_"
O << MAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << "_"
<< MO.getIndex();
break;
case MachineOperand::MO_JumpTableIndex:
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << MO.getIndex();
break;
default:

View File

@ -325,22 +325,22 @@ void SPUAsmPrinter::printOp(const MachineOperand &MO) {
printBasicBlockLabel(MO.getMBB());
return;
case MachineOperand::MO_JumpTableIndex:
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << MO.getIndex();
return;
case MachineOperand::MO_ConstantPoolIndex:
O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber()
<< '_' << MO.getIndex();
return;
case MachineOperand::MO_ExternalSymbol:
// Computing the address of an external symbol, not calling it.
if (TM.getRelocationModel() != Reloc::Static) {
std::string Name(TAI->getGlobalPrefix()); Name += MO.getSymbolName();
std::string Name(MAI->getGlobalPrefix()); Name += MO.getSymbolName();
GVStubs.insert(Name);
O << "L" << Name << "$non_lazy_ptr";
return;
}
O << TAI->getGlobalPrefix() << MO.getSymbolName();
O << MAI->getGlobalPrefix() << MO.getSymbolName();
return;
case MachineOperand::MO_GlobalAddress: {
// Computing the address of a global symbol, not calling it.
@ -528,11 +528,11 @@ void LinuxAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
O << name << ":\n";
O << "\t.zero " << Size << '\n';
} else if (GVar->hasLocalLinkage()) {
O << TAI->getLCOMMDirective() << name << ',' << Size;
O << MAI->getLCOMMDirective() << name << ',' << Size;
} else {
O << ".comm " << name << ',' << Size;
}
O << "\t\t" << TAI->getCommentString() << " '";
O << "\t\t" << MAI->getCommentString() << " '";
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
O << "'\n";
return;
@ -566,7 +566,7 @@ void LinuxAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
}
EmitAlignment(Align, GVar);
O << name << ":\t\t\t\t" << TAI->getCommentString() << " '";
O << name << ":\t\t\t\t" << MAI->getCommentString() << " '";
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
O << "'\n";

View File

@ -44,8 +44,8 @@ namespace {
class VISIBILITY_HIDDEN MSP430AsmPrinter : public AsmPrinter {
public:
MSP430AsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
const MCAsmInfo *TAI, bool V)
: AsmPrinter(O, TM, TAI, V) {}
const MCAsmInfo *MAI, bool V)
: AsmPrinter(O, TM, MAI, V) {}
virtual const char *getPassName() const {
return "MSP430 Assembly Printer";
@ -132,7 +132,7 @@ bool MSP430AsmPrinter::runOnMachineFunction(MachineFunction &MF) {
printMachineInstruction(II);
}
if (TAI->hasDotTypeDotSizeDirective())
if (MAI->hasDotTypeDotSizeDirective())
O << "\t.size\t" << CurrentFnName << ", .-" << CurrentFnName << '\n';
// We didn't modify anything
@ -180,7 +180,7 @@ void MSP430AsmPrinter::printOperand(const MachineInstr *MI, int OpNum,
}
case MachineOperand::MO_ExternalSymbol: {
bool isCallOp = Modifier && !strcmp(Modifier, "call");
std::string Name(TAI->getGlobalPrefix());
std::string Name(MAI->getGlobalPrefix());
Name += MO.getSymbolName();
if (isCallOp)
O << '#';

View File

@ -221,7 +221,7 @@ void MipsAsmPrinter::emitFunctionStart(MachineFunction &MF) {
printVisibility(CurrentFnName, F->getVisibility());
if ((TAI->hasDotTypeDotSizeDirective()) && Subtarget->isLinux())
if ((MAI->hasDotTypeDotSizeDirective()) && Subtarget->isLinux())
O << "\t.type\t" << CurrentFnName << ", @function\n";
O << CurrentFnName << ":\n";
@ -241,7 +241,7 @@ void MipsAsmPrinter::emitFunctionEnd(MachineFunction &MF) {
O << "\t.set\treorder\n";
O << "\t.end\t" << CurrentFnName << '\n';
if (TAI->hasDotTypeDotSizeDirective() && !Subtarget->isLinux())
if (MAI->hasDotTypeDotSizeDirective() && !Subtarget->isLinux())
O << "\t.size\t" << CurrentFnName << ", .-" << CurrentFnName << '\n';
}
@ -370,12 +370,12 @@ void MipsAsmPrinter::printOperand(const MachineInstr *MI, int opNum) {
break;
case MachineOperand::MO_JumpTableIndex:
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << MO.getIndex();
break;
case MachineOperand::MO_ConstantPoolIndex:
O << TAI->getPrivateGlobalPrefix() << "CPI"
O << MAI->getPrivateGlobalPrefix() << "CPI"
<< getFunctionNumber() << "_" << MO.getIndex();
break;
@ -480,8 +480,8 @@ void MipsAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
if (GVar->hasLocalLinkage())
O << "\t.local\t" << name << '\n';
O << TAI->getCOMMDirective() << name << ',' << Size;
if (TAI->getCOMMDirectiveTakesAlignment())
O << MAI->getCOMMDirective() << name << ',' << Size;
if (MAI->getCOMMDirectiveTakesAlignment())
O << ',' << (1 << Align);
O << '\n';
@ -503,7 +503,7 @@ void MipsAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
// or something. For now, just emit them as external.
case GlobalValue::ExternalLinkage:
// If external or appending, declare as a global symbol
O << TAI->getGlobalDirective() << name << '\n';
O << MAI->getGlobalDirective() << name << '\n';
// Fall Through
case GlobalValue::PrivateLinkage:
case GlobalValue::LinkerPrivateLinkage:
@ -523,7 +523,7 @@ void MipsAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
EmitAlignment(Align, GVar);
if (TAI->hasDotTypeDotSizeDirective() && printSizeAndType) {
if (MAI->hasDotTypeDotSizeDirective() && printSizeAndType) {
O << "\t.type " << name << ",@object\n";
O << "\t.size " << name << ',' << Size << '\n';
}

View File

@ -37,7 +37,7 @@ PIC16AsmPrinter::PIC16AsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
const MCAsmInfo *T, bool V)
: AsmPrinter(O, TM, T, V), DbgInfo(O, T) {
PTLI = static_cast<PIC16TargetLowering*>(TM.getTargetLowering());
PTAI = static_cast<const PIC16MCAsmInfo*>(T);
PMAI = static_cast<const PIC16MCAsmInfo*>(T);
PTOF = (PIC16TargetObjectFile*)&PTLI->getObjFileLowering();
}
@ -199,18 +199,18 @@ void PIC16AsmPrinter::printLibcallDecls() {
// If no libcalls used, return.
if (LibcallDecls.empty()) return;
O << TAI->getCommentString() << "External decls for libcalls - BEGIN." <<"\n";
O << MAI->getCommentString() << "External decls for libcalls - BEGIN." <<"\n";
// Remove duplicate entries.
LibcallDecls.sort(is_before);
LibcallDecls.unique(is_duplicate);
for (std::list<const char*>::const_iterator I = LibcallDecls.begin();
I != LibcallDecls.end(); I++) {
O << TAI->getExternDirective() << *I << "\n";
O << TAI->getExternDirective() << PAN::getArgsLabel(*I) << "\n";
O << TAI->getExternDirective() << PAN::getRetvalLabel(*I) << "\n";
O << MAI->getExternDirective() << *I << "\n";
O << MAI->getExternDirective() << PAN::getArgsLabel(*I) << "\n";
O << MAI->getExternDirective() << PAN::getRetvalLabel(*I) << "\n";
}
O << TAI->getCommentString() << "External decls for libcalls - END." <<"\n";
O << MAI->getCommentString() << "External decls for libcalls - END." <<"\n";
}
/// doInitialization - Perfrom Module level initializations here.
@ -250,7 +250,7 @@ bool PIC16AsmPrinter::doInitialization(Module &M) {
///
void PIC16AsmPrinter::EmitFunctionDecls(Module &M) {
// Emit declarations for external functions.
O <<"\n"<<TAI->getCommentString() << "Function Declarations - BEGIN." <<"\n";
O <<"\n"<<MAI->getCommentString() << "Function Declarations - BEGIN." <<"\n";
for (Module::iterator I = M.begin(), E = M.end(); I != E; I++) {
if (I->isIntrinsic())
continue;
@ -272,15 +272,15 @@ void PIC16AsmPrinter::EmitFunctionDecls(Module &M) {
// tracking both kind of references in printInstrunction.
if (I->isDeclaration() && PAN::isMemIntrinsic(Name)) continue;
const char *directive = I->isDeclaration() ? TAI->getExternDirective() :
TAI->getGlobalDirective();
const char *directive = I->isDeclaration() ? MAI->getExternDirective() :
MAI->getGlobalDirective();
O << directive << Name << "\n";
O << directive << PAN::getRetvalLabel(Name) << "\n";
O << directive << PAN::getArgsLabel(Name) << "\n";
}
O << TAI->getCommentString() << "Function Declarations - END." <<"\n";
O << MAI->getCommentString() << "Function Declarations - END." <<"\n";
}
// Emit variables imported from other Modules.
@ -288,11 +288,11 @@ void PIC16AsmPrinter::EmitUndefinedVars(Module &M) {
std::vector<const GlobalVariable*> Items = PTOF->ExternalVarDecls->Items;
if (!Items.size()) return;
O << "\n" << TAI->getCommentString() << "Imported Variables - BEGIN" << "\n";
O << "\n" << MAI->getCommentString() << "Imported Variables - BEGIN" << "\n";
for (unsigned j = 0; j < Items.size(); j++) {
O << TAI->getExternDirective() << Mang->getMangledName(Items[j]) << "\n";
O << MAI->getExternDirective() << Mang->getMangledName(Items[j]) << "\n";
}
O << TAI->getCommentString() << "Imported Variables - END" << "\n";
O << MAI->getCommentString() << "Imported Variables - END" << "\n";
}
// Emit variables defined in this module and are available to other modules.
@ -300,11 +300,11 @@ void PIC16AsmPrinter::EmitDefinedVars(Module &M) {
std::vector<const GlobalVariable*> Items = PTOF->ExternalVarDefs->Items;
if (!Items.size()) return;
O << "\n" << TAI->getCommentString() << "Exported Variables - BEGIN" << "\n";
O << "\n" << MAI->getCommentString() << "Exported Variables - BEGIN" << "\n";
for (unsigned j = 0; j < Items.size(); j++) {
O << TAI->getGlobalDirective() << Mang->getMangledName(Items[j]) << "\n";
O << MAI->getGlobalDirective() << Mang->getMangledName(Items[j]) << "\n";
}
O << TAI->getCommentString() << "Exported Variables - END" << "\n";
O << MAI->getCommentString() << "Exported Variables - END" << "\n";
}
// Emit initialized data placed in ROM.

View File

@ -70,7 +70,7 @@ namespace llvm {
PIC16TargetObjectFile *PTOF;
PIC16TargetLowering *PTLI;
PIC16DbgInfo DbgInfo;
const PIC16MCAsmInfo *PTAI;
const PIC16MCAsmInfo *PMAI;
std::list<const char *> LibcallDecls; // List of extern decls.
};
} // end of namespace

View File

@ -32,7 +32,7 @@ namespace llvm {
static MCSectionPIC16 *Create(const StringRef &Name,
SectionKind K, MCContext &Ctx);
virtual void PrintSwitchToSection(const MCAsmInfo &TAI,
virtual void PrintSwitchToSection(const MCAsmInfo &MAI,
raw_ostream &OS) const;
};

View File

@ -450,7 +450,7 @@ void PIC16DbgInfo::EmitVarDebugInfo(Module &M) {
bool HasAux = false;
int Aux[PIC16Dbg::AuxSize] = { 0 };
std::string TagName = "";
std::string VarName = TAI->getGlobalPrefix()+DIGV.getGlobal()->getNameStr();
std::string VarName = MAI->getGlobalPrefix()+DIGV.getGlobal()->getNameStr();
PopulateDebugInfo(Ty, TypeNo, HasAux, Aux, TagName);
// Emit debug info only if type information is availaible.
if (TypeNo != PIC16Dbg::T_NULL) {

View File

@ -92,7 +92,7 @@ namespace llvm {
class PIC16DbgInfo {
formatted_raw_ostream &O;
const MCAsmInfo *TAI;
const MCAsmInfo *MAI;
std::string CurFile;
unsigned CurLine;
@ -102,7 +102,7 @@ namespace llvm {
public:
PIC16DbgInfo(formatted_raw_ostream &o, const MCAsmInfo *T)
: O(o), TAI(T) {
: O(o), MAI(T) {
CurFile = "";
CurLine = 0;
EmitDebugDirectives = false;

View File

@ -25,7 +25,7 @@ MCSectionPIC16 *MCSectionPIC16::Create(const StringRef &Name,
}
void MCSectionPIC16::PrintSwitchToSection(const MCAsmInfo &TAI,
void MCSectionPIC16::PrintSwitchToSection(const MCAsmInfo &MAI,
raw_ostream &OS) const {
OS << getName() << '\n';
}

View File

@ -324,7 +324,7 @@ namespace {
// Map symbol -> label of TOC entry.
if (TOC.count(Name) == 0) {
std::string Label;
Label += TAI->getPrivateGlobalPrefix();
Label += MAI->getPrivateGlobalPrefix();
Label += "C";
Label += utostr(LabelID++);
@ -406,17 +406,17 @@ void PPCAsmPrinter::printOp(const MachineOperand &MO) {
printBasicBlockLabel(MO.getMBB());
return;
case MachineOperand::MO_JumpTableIndex:
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << MO.getIndex();
// FIXME: PIC relocation model
return;
case MachineOperand::MO_ConstantPoolIndex:
O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber()
<< '_' << MO.getIndex();
return;
case MachineOperand::MO_ExternalSymbol: {
// Computing the address of an external symbol, not calling it.
std::string Name(TAI->getGlobalPrefix());
std::string Name(MAI->getGlobalPrefix());
Name += MO.getSymbolName();
if (TM.getRelocationModel() != Reloc::Static) {
@ -719,12 +719,12 @@ void PPCLinuxAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
O << name << ":\n";
O << "\t.zero " << Size << '\n';
} else if (GVar->hasLocalLinkage()) {
O << TAI->getLCOMMDirective() << name << ',' << Size;
O << MAI->getLCOMMDirective() << name << ',' << Size;
} else {
O << ".comm " << name << ',' << Size;
}
if (VerboseAsm) {
O << "\t\t" << TAI->getCommentString() << " '";
O << "\t\t" << MAI->getCommentString() << " '";
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
O << "'";
}
@ -761,7 +761,7 @@ void PPCLinuxAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
EmitAlignment(Align, GVar);
O << name << ":";
if (VerboseAsm) {
O << "\t\t\t\t" << TAI->getCommentString() << " '";
O << "\t\t\t\t" << MAI->getCommentString() << " '";
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
O << "'";
}
@ -958,14 +958,14 @@ void PPCDarwinAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
O << "\t.zerofill __DATA, __common, " << name << ", "
<< Size << ", " << Align;
} else if (GVar->hasLocalLinkage()) {
O << TAI->getLCOMMDirective() << name << ',' << Size << ',' << Align;
O << MAI->getLCOMMDirective() << name << ',' << Size << ',' << Align;
} else if (!GVar->hasCommonLinkage()) {
O << "\t.globl " << name << '\n'
<< TAI->getWeakDefDirective() << name << '\n';
<< MAI->getWeakDefDirective() << name << '\n';
EmitAlignment(Align, GVar);
O << name << ":";
if (VerboseAsm) {
O << "\t\t\t\t" << TAI->getCommentString() << " ";
O << "\t\t\t\t" << MAI->getCommentString() << " ";
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
}
O << '\n';
@ -978,7 +978,7 @@ void PPCDarwinAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
O << ',' << Align;
}
if (VerboseAsm) {
O << "\t\t" << TAI->getCommentString() << " '";
O << "\t\t" << MAI->getCommentString() << " '";
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
O << "'";
}
@ -1013,7 +1013,7 @@ void PPCDarwinAsmPrinter::PrintGlobalVariable(const GlobalVariable *GVar) {
EmitAlignment(Align, GVar);
O << name << ":";
if (VerboseAsm) {
O << "\t\t\t\t" << TAI->getCommentString() << " '";
O << "\t\t\t\t" << MAI->getCommentString() << " '";
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
O << "'";
}
@ -1097,7 +1097,7 @@ bool PPCDarwinAsmPrinter::doFinalization(Module &M) {
O << '\n';
if (TAI->doesSupportExceptionHandling() && MMI) {
if (MAI->doesSupportExceptionHandling() && MMI) {
// Add the (possibly multiple) personalities to the set of global values.
// Only referenced functions get into the Personalities list.
const std::vector<Function *> &Personalities = MMI->getPersonalities();

View File

@ -167,7 +167,7 @@ void SparcAsmPrinter::printOperand(const MachineInstr *MI, int opNum) {
O << MO.getSymbolName();
break;
case MachineOperand::MO_ConstantPoolIndex:
O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << "_"
O << MAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << "_"
<< MO.getIndex();
break;
default:
@ -239,8 +239,8 @@ void SparcAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
if (GVar->hasLocalLinkage())
O << "\t.local " << name << '\n';
O << TAI->getCOMMDirective() << name << ',' << Size;
if (TAI->getCOMMDirectiveTakesAlignment())
O << MAI->getCOMMDirective() << name << ',' << Size;
if (MAI->getCOMMDirectiveTakesAlignment())
O << ',' << (1 << Align);
O << '\n';
@ -262,7 +262,7 @@ void SparcAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
// their name or something. For now, just emit them as external.
case GlobalValue::ExternalLinkage:
// If external or appending, declare as a global symbol
O << TAI->getGlobalDirective() << name << '\n';
O << MAI->getGlobalDirective() << name << '\n';
// FALL THROUGH
case GlobalValue::PrivateLinkage:
case GlobalValue::LinkerPrivateLinkage:
@ -280,7 +280,7 @@ void SparcAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
EmitAlignment(Align, GVar);
if (TAI->hasDotTypeDotSizeDirective()) {
if (MAI->hasDotTypeDotSizeDirective()) {
O << "\t.type " << name << ",#object\n";
O << "\t.size " << name << ',' << Size << '\n';
}

View File

@ -44,8 +44,8 @@ namespace {
class VISIBILITY_HIDDEN SystemZAsmPrinter : public AsmPrinter {
public:
SystemZAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
const MCAsmInfo *TAI, bool V)
: AsmPrinter(O, TM, TAI, V) {}
const MCAsmInfo *MAI, bool V)
: AsmPrinter(O, TM, MAI, V) {}
virtual const char *getPassName() const {
return "SystemZ Assembly Printer";
@ -140,7 +140,7 @@ bool SystemZAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
printMachineInstruction(II);
}
if (TAI->hasDotTypeDotSizeDirective())
if (MAI->hasDotTypeDotSizeDirective())
O << "\t.size\t" << CurrentFnName << ", .-" << CurrentFnName << '\n';
// Print out jump tables referenced by the function.
@ -182,7 +182,7 @@ void SystemZAsmPrinter::printPCRelImmOperand(const MachineInstr *MI, int OpNum)
return;
}
case MachineOperand::MO_ExternalSymbol: {
std::string Name(TAI->getGlobalPrefix());
std::string Name(MAI->getGlobalPrefix());
Name += MO.getSymbolName();
O << Name;
@ -224,12 +224,12 @@ void SystemZAsmPrinter::printOperand(const MachineInstr *MI, int OpNum,
printBasicBlockLabel(MO.getMBB());
return;
case MachineOperand::MO_JumpTableIndex:
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber() << '_'
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber() << '_'
<< MO.getIndex();
return;
case MachineOperand::MO_ConstantPoolIndex:
O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << '_'
O << MAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << '_'
<< MO.getIndex();
printOffset(MO.getOffset());
@ -242,7 +242,7 @@ void SystemZAsmPrinter::printOperand(const MachineInstr *MI, int OpNum,
break;
}
case MachineOperand::MO_ExternalSymbol: {
std::string Name(TAI->getGlobalPrefix());
std::string Name(MAI->getGlobalPrefix());
Name += MO.getSymbolName();
O << Name;
break;
@ -330,12 +330,12 @@ void SystemZAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
if (GVar->hasLocalLinkage())
O << "\t.local\t" << name << '\n';
O << TAI->getCOMMDirective() << name << ',' << Size;
if (TAI->getCOMMDirectiveTakesAlignment())
O << ',' << (TAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
O << MAI->getCOMMDirective() << name << ',' << Size;
if (MAI->getCOMMDirectiveTakesAlignment())
O << ',' << (MAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
if (VerboseAsm) {
O << "\t\t" << TAI->getCommentString() << ' ';
O << "\t\t" << MAI->getCommentString() << ' ';
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
}
O << '\n';
@ -370,11 +370,11 @@ void SystemZAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
EmitAlignment(Align, GVar, 1);
O << name << ":";
if (VerboseAsm) {
O << "\t\t\t\t" << TAI->getCommentString() << ' ';
O << "\t\t\t\t" << MAI->getCommentString() << ' ';
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
}
O << '\n';
if (TAI->hasDotTypeDotSizeDirective())
if (MAI->hasDotTypeDotSizeDirective())
O << "\t.size\t" << name << ", " << Size << '\n';
EmitGlobalConstant(C);

View File

@ -73,21 +73,21 @@ bool TargetInstrInfo::isUnpredicatedTerminator(const MachineInstr *MI) const {
/// Variable-length instructions are not handled here; this function
/// may be overloaded in the target code to do that.
unsigned TargetInstrInfo::getInlineAsmLength(const char *Str,
const MCAsmInfo &TAI) const {
const MCAsmInfo &MAI) const {
// Count the number of instructions in the asm.
bool atInsnStart = true;
unsigned Length = 0;
for (; *Str; ++Str) {
if (*Str == '\n' || *Str == TAI.getSeparatorChar())
if (*Str == '\n' || *Str == MAI.getSeparatorChar())
atInsnStart = true;
if (atInsnStart && !isspace(*Str)) {
Length += TAI.getMaxInstLength();
Length += MAI.getMaxInstLength();
atInsnStart = false;
}
if (atInsnStart && strncmp(Str, TAI.getCommentString(),
strlen(TAI.getCommentString())) == 0)
if (atInsnStart && strncmp(Str, MAI.getCommentString(),
strlen(MAI.getCommentString())) == 0)
atInsnStart = false;
}

View File

@ -193,7 +193,7 @@ void X86ATTAsmPrinter::emitFunctionHeader(const MachineFunction &MF) {
case Function::WeakODRLinkage:
if (Subtarget->isTargetDarwin()) {
O << "\t.globl\t" << CurrentFnName << '\n';
O << TAI->getWeakDefDirective() << CurrentFnName << '\n';
O << MAI->getWeakDefDirective() << CurrentFnName << '\n';
} else if (Subtarget->isTargetCygMing()) {
O << "\t.globl\t" << CurrentFnName << "\n"
"\t.linkonce discard\n";
@ -217,8 +217,8 @@ void X86ATTAsmPrinter::emitFunctionHeader(const MachineFunction &MF) {
O << CurrentFnName << ':';
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << ' ';
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << ' ';
WriteAsOperand(O, F, /*PrintType=*/false, F->getParent());
}
O << '\n';
@ -255,7 +255,7 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
emitFunctionHeader(MF);
// Emit pre-function debug and/or EH information.
if (TAI->doesSupportDebugInformation() || TAI->doesSupportExceptionHandling())
if (MAI->doesSupportDebugInformation() || MAI->doesSupportExceptionHandling())
DW->BeginFunction(&MF);
// Print out code for the function.
@ -287,11 +287,11 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
O << "\tnop\n";
}
if (TAI->hasDotTypeDotSizeDirective())
if (MAI->hasDotTypeDotSizeDirective())
O << "\t.size\t" << CurrentFnName << ", .-" << CurrentFnName << '\n';
// Emit post-function debug information.
if (TAI->doesSupportDebugInformation() || TAI->doesSupportExceptionHandling())
if (MAI->doesSupportDebugInformation() || MAI->doesSupportExceptionHandling())
DW->EndFunction(&MF);
// Print out jump tables referenced by the function.
@ -308,11 +308,11 @@ void X86ATTAsmPrinter::printSymbolOperand(const MachineOperand &MO) {
switch (MO.getType()) {
default: llvm_unreachable("unknown symbol type!");
case MachineOperand::MO_JumpTableIndex:
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber() << '_'
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber() << '_'
<< MO.getIndex();
break;
case MachineOperand::MO_ConstantPoolIndex:
O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << '_'
O << MAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << '_'
<< MO.getIndex();
printOffset(MO.getOffset());
break;
@ -535,18 +535,18 @@ void X86ATTAsmPrinter::printMemReference(const MachineInstr *MI, unsigned Op,
void X86ATTAsmPrinter::printPICJumpTableSetLabel(unsigned uid,
const MachineBasicBlock *MBB) const {
if (!TAI->getSetDirective())
if (!MAI->getSetDirective())
return;
// We don't need .set machinery if we have GOT-style relocations
if (Subtarget->isPICStyleGOT())
return;
O << TAI->getSetDirective() << ' ' << TAI->getPrivateGlobalPrefix()
O << MAI->getSetDirective() << ' ' << MAI->getPrivateGlobalPrefix()
<< getFunctionNumber() << '_' << uid << "_set_" << MBB->getNumber() << ',';
printBasicBlockLabel(MBB, false, false, false);
if (Subtarget->isPICStyleRIPRel())
O << '-' << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << '-' << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << uid << '\n';
else {
O << '-';
@ -568,12 +568,12 @@ void X86ATTAsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
const MachineBasicBlock *MBB,
unsigned uid) const {
const char *JTEntryDirective = MJTI->getEntrySize() == 4 ?
TAI->getData32bitsDirective() : TAI->getData64bitsDirective();
MAI->getData32bitsDirective() : MAI->getData64bitsDirective();
O << JTEntryDirective << ' ';
if (Subtarget->isPICStyleRIPRel() || Subtarget->isPICStyleStubPIC()) {
O << TAI->getPrivateGlobalPrefix() << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << getFunctionNumber()
<< '_' << uid << "_set_" << MBB->getNumber();
} else if (Subtarget->isPICStyleGOT()) {
printBasicBlockLabel(MBB, false, false, false);
@ -950,7 +950,7 @@ void X86ATTAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
// Don't put things that should go in the cstring section into "comm".
!TheSection->getKind().isMergeableCString()) {
if (GVar->hasExternalLinkage()) {
if (const char *Directive = TAI->getZeroFillDirective()) {
if (const char *Directive = MAI->getZeroFillDirective()) {
O << "\t.globl " << name << '\n';
O << Directive << "__DATA, __common, " << name << ", "
<< Size << ", " << Align << '\n';
@ -962,41 +962,41 @@ void X86ATTAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
(GVar->hasLocalLinkage() || GVar->isWeakForLinker())) {
if (Size == 0) Size = 1; // .comm Foo, 0 is undefined, avoid it.
if (TAI->getLCOMMDirective() != NULL) {
if (MAI->getLCOMMDirective() != NULL) {
if (GVar->hasLocalLinkage()) {
O << TAI->getLCOMMDirective() << name << ',' << Size;
O << MAI->getLCOMMDirective() << name << ',' << Size;
if (Subtarget->isTargetDarwin())
O << ',' << Align;
} else if (Subtarget->isTargetDarwin() && !GVar->hasCommonLinkage()) {
O << "\t.globl " << name << '\n'
<< TAI->getWeakDefDirective() << name << '\n';
<< MAI->getWeakDefDirective() << name << '\n';
EmitAlignment(Align, GVar);
O << name << ":";
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << ' ';
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << ' ';
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
}
O << '\n';
EmitGlobalConstant(C);
return;
} else {
O << TAI->getCOMMDirective() << name << ',' << Size;
if (TAI->getCOMMDirectiveTakesAlignment())
O << ',' << (TAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
O << MAI->getCOMMDirective() << name << ',' << Size;
if (MAI->getCOMMDirectiveTakesAlignment())
O << ',' << (MAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
}
} else {
if (!Subtarget->isTargetCygMing()) {
if (GVar->hasLocalLinkage())
O << "\t.local\t" << name << '\n';
}
O << TAI->getCOMMDirective() << name << ',' << Size;
if (TAI->getCOMMDirectiveTakesAlignment())
O << ',' << (TAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
O << MAI->getCOMMDirective() << name << ',' << Size;
if (MAI->getCOMMDirectiveTakesAlignment())
O << ',' << (MAI->getAlignmentIsInBytes() ? (1 << Align) : Align);
}
if (VerboseAsm) {
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << ' ';
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << ' ';
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
}
O << '\n';
@ -1013,7 +1013,7 @@ void X86ATTAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
case GlobalValue::LinkerPrivateLinkage:
if (Subtarget->isTargetDarwin()) {
O << "\t.globl " << name << '\n'
<< TAI->getWeakDefDirective() << name << '\n';
<< MAI->getWeakDefDirective() << name << '\n';
} else if (Subtarget->isTargetCygMing()) {
O << "\t.globl\t" << name << "\n"
"\t.linkonce same_size\n";
@ -1039,15 +1039,15 @@ void X86ATTAsmPrinter::PrintGlobalVariable(const GlobalVariable* GVar) {
EmitAlignment(Align, GVar);
O << name << ":";
if (VerboseAsm){
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString() << ' ';
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString() << ' ';
WriteAsOperand(O, GVar, /*PrintType=*/false, GVar->getParent());
}
O << '\n';
EmitGlobalConstant(C);
if (TAI->hasDotTypeDotSizeDirective())
if (MAI->hasDotTypeDotSizeDirective())
O << "\t.size\t" << name << ", " << Size << '\n';
}
@ -1066,7 +1066,7 @@ bool X86ATTAsmPrinter::doFinalization(Module &M) {
// Add the (possibly multiple) personalities to the set of global value
// stubs. Only referenced functions get into the Personalities list.
if (TAI->doesSupportExceptionHandling() && MMI && !Subtarget->is64Bit()) {
if (MAI->doesSupportExceptionHandling() && MMI && !Subtarget->is64Bit()) {
const std::vector<Function*> &Personalities = MMI->getPersonalities();
for (unsigned i = 0, e = Personalities.size(); i != e; ++i) {
if (Personalities[i])
@ -1110,7 +1110,7 @@ bool X86ATTAsmPrinter::doFinalization(Module &M) {
EmitAlignment(2);
for (StringMap<std::string>::iterator I = HiddenGVStubs.begin(),
E = HiddenGVStubs.end(); I != E; ++I)
O << I->getKeyData() << ":\n" << TAI->getData32bitsDirective()
O << I->getKeyData() << ":\n" << MAI->getData32bitsDirective()
<< I->second << '\n';
}

View File

@ -60,7 +60,7 @@ void X86ATTAsmPrinter::print_pcrel_imm(const MCInst *MI, unsigned OpNo) {
else if (Op.isMBBLabel())
// FIXME: Keep in sync with printBasicBlockLabel. printBasicBlockLabel
// should eventually call into this code, not the other way around.
O << TAI->getPrivateGlobalPrefix() << "BB" << Op.getMBBLabelFunction()
O << MAI->getPrivateGlobalPrefix() << "BB" << Op.getMBBLabelFunction()
<< '_' << Op.getMBBLabelBlock();
else
llvm_unreachable("Unknown pcrel immediate operand");

View File

@ -226,14 +226,14 @@ void X86IntelAsmPrinter::printOp(const MachineOperand &MO,
case MachineOperand::MO_JumpTableIndex: {
bool isMemOp = Modifier && !strcmp(Modifier, "mem");
if (!isMemOp) O << "OFFSET ";
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< "_" << MO.getIndex();
return;
}
case MachineOperand::MO_ConstantPoolIndex: {
bool isMemOp = Modifier && !strcmp(Modifier, "mem");
if (!isMemOp) O << "OFFSET ";
O << "[" << TAI->getPrivateGlobalPrefix() << "CPI"
O << "[" << MAI->getPrivateGlobalPrefix() << "CPI"
<< getFunctionNumber() << "_" << MO.getIndex();
printOffset(MO.getOffset());
O << "]";
@ -258,7 +258,7 @@ void X86IntelAsmPrinter::printOp(const MachineOperand &MO,
return;
}
case MachineOperand::MO_ExternalSymbol: {
O << TAI->getGlobalPrefix() << MO.getSymbolName();
O << MAI->getGlobalPrefix() << MO.getSymbolName();
return;
}
default:
@ -293,7 +293,7 @@ void X86IntelAsmPrinter::print_pcrel_imm(const MachineInstr *MI, unsigned OpNo){
}
case MachineOperand::MO_ExternalSymbol:
O << TAI->getGlobalPrefix() << MO.getSymbolName();
O << MAI->getGlobalPrefix() << MO.getSymbolName();
return;
}
}
@ -357,10 +357,10 @@ void X86IntelAsmPrinter::printMemReference(const MachineInstr *MI, unsigned Op,
void X86IntelAsmPrinter::printPICJumpTableSetLabel(unsigned uid,
const MachineBasicBlock *MBB) const {
if (!TAI->getSetDirective())
if (!MAI->getSetDirective())
return;
O << TAI->getSetDirective() << ' ' << TAI->getPrivateGlobalPrefix()
O << MAI->getSetDirective() << ' ' << MAI->getPrivateGlobalPrefix()
<< getFunctionNumber() << '_' << uid << "_set_" << MBB->getNumber() << ',';
printBasicBlockLabel(MBB, false, false, false);
O << '-' << "\"L" << getFunctionNumber() << "$pb\"'\n";
@ -525,8 +525,8 @@ void X86IntelAsmPrinter::PrintGlobalVariable(const GlobalVariable *GV) {
O << name << ":";
if (VerboseAsm)
O.PadToColumn(TAI->getCommentColumn());
O << TAI->getCommentString()
O.PadToColumn(MAI->getCommentColumn());
O << MAI->getCommentString()
<< " " << GV->getName();
O << '\n';

View File

@ -97,7 +97,7 @@ namespace {
void XCoreAsmPrinter::
emitGlobalDirective(const std::string &name)
{
O << TAI->getGlobalDirective() << name;
O << MAI->getGlobalDirective() << name;
O << "\n";
}
@ -117,12 +117,12 @@ emitArrayBound(const std::string &name, const GlobalVariable *GV)
if (const ArrayType *ATy = dyn_cast<ArrayType>(
cast<PointerType>(GV->getType())->getElementType()))
{
O << TAI->getGlobalDirective() << name << ".globound" << "\n";
O << TAI->getSetDirective() << name << ".globound" << ","
O << MAI->getGlobalDirective() << name << ".globound" << "\n";
O << MAI->getSetDirective() << name << ".globound" << ","
<< ATy->getNumElements() << "\n";
if (GV->hasWeakLinkage() || GV->hasLinkOnceLinkage()) {
// TODO Use COMDAT groups for LinkOnceLinkage
O << TAI->getWeakDefDirective() << name << ".globound" << "\n";
O << MAI->getWeakDefDirective() << name << ".globound" << "\n";
}
}
}
@ -156,7 +156,7 @@ void XCoreAsmPrinter::PrintGlobalVariable(const GlobalVariable *GV) {
emitGlobalDirective(name);
// TODO Use COMDAT groups for LinkOnceLinkage
if (GV->hasWeakLinkage() || GV->hasLinkOnceLinkage()) {
O << TAI->getWeakDefDirective() << name << "\n";
O << MAI->getWeakDefDirective() << name << "\n";
}
// FALL THROUGH
case GlobalValue::InternalLinkage:
@ -179,7 +179,7 @@ void XCoreAsmPrinter::PrintGlobalVariable(const GlobalVariable *GV) {
if (GV->isThreadLocal()) {
Size *= MaxThreads;
}
if (TAI->hasDotTypeDotSizeDirective()) {
if (MAI->hasDotTypeDotSizeDirective()) {
O << "\t.type " << name << ",@object\n";
O << "\t.size " << name << "," << Size << "\n";
}
@ -225,13 +225,13 @@ void XCoreAsmPrinter::emitFunctionStart(MachineFunction &MF) {
case Function::WeakAnyLinkage:
case Function::WeakODRLinkage:
// TODO Use COMDAT groups for LinkOnceLinkage
O << TAI->getGlobalDirective() << CurrentFnName << "\n";
O << TAI->getWeakDefDirective() << CurrentFnName << "\n";
O << MAI->getGlobalDirective() << CurrentFnName << "\n";
O << MAI->getWeakDefDirective() << CurrentFnName << "\n";
break;
}
// (1 << 1) byte aligned
EmitAlignment(MF.getAlignment(), F, 1);
if (TAI->hasDotTypeDotSizeDirective()) {
if (MAI->hasDotTypeDotSizeDirective()) {
O << "\t.type " << CurrentFnName << ",@function\n";
}
O << CurrentFnName << ":\n";
@ -331,11 +331,11 @@ void XCoreAsmPrinter::printOperand(const MachineInstr *MI, int opNum) {
O << MO.getSymbolName();
break;
case MachineOperand::MO_ConstantPoolIndex:
O << TAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber()
<< '_' << MO.getIndex();
break;
case MachineOperand::MO_JumpTableIndex:
O << TAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
O << MAI->getPrivateGlobalPrefix() << "JTI" << getFunctionNumber()
<< '_' << MO.getIndex();
break;
default:

View File

@ -26,7 +26,7 @@ MCSectionXCore::Create(const StringRef &Section, unsigned Type,
/// PrintTargetSpecificSectionFlags - This handles the XCore-specific cp/dp
/// section flags.
void MCSectionXCore::PrintTargetSpecificSectionFlags(const MCAsmInfo &TAI,
void MCSectionXCore::PrintTargetSpecificSectionFlags(const MCAsmInfo &MAI,
raw_ostream &OS) const {
if (getFlags() & MCSectionXCore::SHF_CP_SECTION)
OS << 'c';

View File

@ -44,7 +44,7 @@ public:
/// PrintTargetSpecificSectionFlags - This handles the XCore-specific cp/dp
/// section flags.
virtual void PrintTargetSpecificSectionFlags(const MCAsmInfo &TAI,
virtual void PrintTargetSpecificSectionFlags(const MCAsmInfo &MAI,
raw_ostream &OS) const;
};