mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
Eliminate SetDirective, and replace it with HasSetDirective.
Default HasSetDirective to true, since most targets have it. The targets that claim to not have it probably do, or it is spelled differently. These include Blackfin, Mips, Alpha, and PIC16. All of these except pic16 are normal ELF targets, so they almost certainly have it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94585 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -62,7 +62,6 @@ ARMELFMCAsmInfo::ARMELFMCAsmInfo() {
|
||||
AbsoluteDebugSectionOffsets = true;
|
||||
PrivateGlobalPrefix = ".L";
|
||||
WeakRefDirective = "\t.weak\t";
|
||||
SetDirective = "\t.set\t";
|
||||
HasLCOMMDirective = true;
|
||||
|
||||
DwarfRequiresFrameSection = false;
|
||||
|
@@ -939,14 +939,14 @@ void ARMAsmPrinter::printJTBlockOperand(const MachineInstr *MI, int OpNum) {
|
||||
const MachineJumpTableInfo *MJTI = MF->getJumpTableInfo();
|
||||
const std::vector<MachineJumpTableEntry> &JT = MJTI->getJumpTables();
|
||||
const std::vector<MachineBasicBlock*> &JTBBs = JT[JTI].MBBs;
|
||||
bool UseSet= MAI->getSetDirective() && TM.getRelocationModel() == Reloc::PIC_;
|
||||
bool UseSet= MAI->hasSetDirective() && TM.getRelocationModel() == Reloc::PIC_;
|
||||
SmallPtrSet<MachineBasicBlock*, 8> JTSets;
|
||||
for (unsigned i = 0, e = JTBBs.size(); i != e; ++i) {
|
||||
MachineBasicBlock *MBB = JTBBs[i];
|
||||
bool isNew = JTSets.insert(MBB);
|
||||
|
||||
if (UseSet && isNew) {
|
||||
O << MAI->getSetDirective() << ' '
|
||||
O << "\t.set\t"
|
||||
<< *GetARMSetPICJumpTableLabel2(JTI, MO2.getImm(), MBB) << ','
|
||||
<< *MBB->getSymbol(OutContext) << '-' << *JTISymbol << '\n';
|
||||
}
|
||||
|
@@ -19,4 +19,5 @@ AlphaMCAsmInfo::AlphaMCAsmInfo(const Target &T, const StringRef &TT) {
|
||||
PrivateGlobalPrefix = "$";
|
||||
GPRel32Directive = ".gprel32";
|
||||
WeakRefDirective = "\t.weak\t";
|
||||
HasSetDirective = false;
|
||||
}
|
||||
|
@@ -18,4 +18,5 @@ using namespace llvm;
|
||||
BlackfinMCAsmInfo::BlackfinMCAsmInfo(const Target &T, const StringRef &TT) {
|
||||
GlobalPrefix = "_";
|
||||
CommentString = "//";
|
||||
HasSetDirective = false;
|
||||
}
|
||||
|
@@ -16,7 +16,6 @@ using namespace llvm;
|
||||
|
||||
SPULinuxMCAsmInfo::SPULinuxMCAsmInfo(const Target &T, const StringRef &TT) {
|
||||
ZeroDirective = "\t.space\t";
|
||||
SetDirective = "\t.set";
|
||||
Data64bitsDirective = "\t.quad\t";
|
||||
AlignmentIsInBytes = false;
|
||||
HasLCOMMDirective = true;
|
||||
|
@@ -17,7 +17,6 @@ using namespace llvm;
|
||||
MSP430MCAsmInfo::MSP430MCAsmInfo(const Target &T, const StringRef &TT) {
|
||||
PrivateGlobalPrefix = ".L";
|
||||
WeakRefDirective ="\t.weak\t";
|
||||
SetDirective = "\t.set\t";
|
||||
PCSymbol=".";
|
||||
CommentString = ";";
|
||||
|
||||
|
@@ -23,4 +23,5 @@ MipsMCAsmInfo::MipsMCAsmInfo(const Target &T, const StringRef &TT) {
|
||||
CommentString = "#";
|
||||
ZeroDirective = "\t.space\t";
|
||||
GPRel32Directive = "\t.gpword\t";
|
||||
HasSetDirective = false;
|
||||
}
|
||||
|
@@ -37,7 +37,7 @@ PIC16MCAsmInfo::PIC16MCAsmInfo(const Target &T, const StringRef &TT) {
|
||||
RomData8bitsDirective = " dw ";
|
||||
RomData16bitsDirective = " rom_di ";
|
||||
RomData32bitsDirective = " rom_dl ";
|
||||
|
||||
HasSetDirective = false;
|
||||
|
||||
// Set it to false because we weed to generate c file name and not bc file
|
||||
// name.
|
||||
|
@@ -49,7 +49,6 @@ PPCLinuxMCAsmInfo::PPCLinuxMCAsmInfo(bool is64Bit) {
|
||||
AbsoluteEHSectionOffsets = false;
|
||||
|
||||
ZeroDirective = "\t.space\t";
|
||||
SetDirective = "\t.set";
|
||||
Data64bitsDirective = is64Bit ? "\t.quad\t" : 0;
|
||||
HasLCOMMDirective = true;
|
||||
AssemblerDialect = 0; // Old-Style mnemonics.
|
||||
|
@@ -29,7 +29,6 @@ SparcELFMCAsmInfo::SparcELFMCAsmInfo(const Target &T, const StringRef &TT) {
|
||||
UsesELFSectionDirectiveForBSS = true;
|
||||
|
||||
WeakRefDirective = "\t.weak\t";
|
||||
SetDirective = "\t.set\t";
|
||||
|
||||
PrivateGlobalPrefix = ".L";
|
||||
}
|
||||
|
@@ -18,7 +18,6 @@ using namespace llvm;
|
||||
SystemZMCAsmInfo::SystemZMCAsmInfo(const Target &T, const StringRef &TT) {
|
||||
PrivateGlobalPrefix = ".L";
|
||||
WeakRefDirective = "\t.weak\t";
|
||||
SetDirective = "\t.set\t";
|
||||
PCSymbol = ".";
|
||||
}
|
||||
|
||||
|
@@ -72,7 +72,6 @@ X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &Triple) {
|
||||
|
||||
PrivateGlobalPrefix = ".L";
|
||||
WeakRefDirective = "\t.weak\t";
|
||||
SetDirective = "\t.set\t";
|
||||
PCSymbol = ".";
|
||||
|
||||
// Set up DWARF directives
|
||||
|
@@ -106,7 +106,7 @@ void XCoreAsmPrinter::emitArrayBound(const MCSymbol *Sym,
|
||||
cast<PointerType>(GV->getType())->getElementType())) {
|
||||
O << MAI->getGlobalDirective() << *Sym;
|
||||
O << ".globound" << "\n";
|
||||
O << MAI->getSetDirective() << *Sym;
|
||||
O << "\t.set\t" << *Sym;
|
||||
O << ".globound" << "," << ATy->getNumElements() << "\n";
|
||||
if (GV->hasWeakLinkage() || GV->hasLinkOnceLinkage()) {
|
||||
// TODO Use COMDAT groups for LinkOnceLinkage
|
||||
|
@@ -22,7 +22,6 @@ XCoreMCAsmInfo::XCoreMCAsmInfo(const Target &T, const StringRef &TT) {
|
||||
AscizDirective = ".asciiz";
|
||||
WeakDefDirective = "\t.weak\t";
|
||||
WeakRefDirective = "\t.weak\t";
|
||||
SetDirective = "\t.set\t";
|
||||
|
||||
// Debug
|
||||
HasLEB128 = true;
|
||||
|
Reference in New Issue
Block a user