mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
rename MAI::PICJumpTableDirective to MAI::GPRel32Directive to
make it clear what it is, instead of how it is used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94448 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a86106ed88
commit
78f485afb7
@ -134,6 +134,11 @@ namespace llvm {
|
|||||||
const char *Data32bitsDirective; // Defaults to "\t.long\t"
|
const char *Data32bitsDirective; // Defaults to "\t.long\t"
|
||||||
const char *Data64bitsDirective; // Defaults to "\t.quad\t"
|
const char *Data64bitsDirective; // Defaults to "\t.quad\t"
|
||||||
|
|
||||||
|
/// GPRel32Directive - if non-null, a directive that is used to emit a word
|
||||||
|
/// which should be relocated as a 32-bit GP-relative offset, e.g. .gpword
|
||||||
|
/// on Mips or .gprel32 on Alpha.
|
||||||
|
const char *GPRel32Directive; // Defaults to NULL.
|
||||||
|
|
||||||
/// getDataASDirective - Return the directive that should be used to emit
|
/// getDataASDirective - Return the directive that should be used to emit
|
||||||
/// data of the specified size to the specified numeric address space.
|
/// data of the specified size to the specified numeric address space.
|
||||||
virtual const char *getDataASDirective(unsigned Size, unsigned AS) const {
|
virtual const char *getDataASDirective(unsigned Size, unsigned AS) const {
|
||||||
@ -168,13 +173,6 @@ namespace llvm {
|
|||||||
/// space created as the result of a alignment directive.
|
/// space created as the result of a alignment directive.
|
||||||
unsigned TextAlignFillValue; // Defaults to 0
|
unsigned TextAlignFillValue; // Defaults to 0
|
||||||
|
|
||||||
//===--- Section Switching Directives ---------------------------------===//
|
|
||||||
|
|
||||||
/// PICJumpTableDirective - if non-null, the directive to emit before jump
|
|
||||||
/// table entries. FIXME: REMOVE THIS.
|
|
||||||
const char *PICJumpTableDirective; // Defaults to NULL.
|
|
||||||
|
|
||||||
|
|
||||||
//===--- Global Variable Emission Directives --------------------------===//
|
//===--- Global Variable Emission Directives --------------------------===//
|
||||||
|
|
||||||
/// GlobalDirective - This is the directive used to declare a global entity.
|
/// GlobalDirective - This is the directive used to declare a global entity.
|
||||||
@ -300,6 +298,7 @@ namespace llvm {
|
|||||||
const char *getData64bitsDirective(unsigned AS = 0) const {
|
const char *getData64bitsDirective(unsigned AS = 0) const {
|
||||||
return AS == 0 ? Data64bitsDirective : getDataASDirective(64, AS);
|
return AS == 0 ? Data64bitsDirective : getDataASDirective(64, AS);
|
||||||
}
|
}
|
||||||
|
const char *getGPRel32Directive() const { return GPRel32Directive; }
|
||||||
|
|
||||||
/// getNonexecutableStackSection - Targets can implement this method to
|
/// getNonexecutableStackSection - Targets can implement this method to
|
||||||
/// specify a section to switch to if the translation unit doesn't have any
|
/// specify a section to switch to if the translation unit doesn't have any
|
||||||
@ -373,9 +372,6 @@ namespace llvm {
|
|||||||
const char *getAscizDirective() const {
|
const char *getAscizDirective() const {
|
||||||
return AscizDirective;
|
return AscizDirective;
|
||||||
}
|
}
|
||||||
const char *getPICJumpTableDirective() const {
|
|
||||||
return PICJumpTableDirective;
|
|
||||||
}
|
|
||||||
const char *getAlignDirective() const {
|
const char *getAlignDirective() const {
|
||||||
return AlignDirective;
|
return AlignDirective;
|
||||||
}
|
}
|
||||||
|
@ -541,15 +541,14 @@ void AsmPrinter::EmitJumpTableInfo(MachineJumpTableInfo *MJTI,
|
|||||||
void AsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
|
void AsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
|
||||||
const MachineBasicBlock *MBB,
|
const MachineBasicBlock *MBB,
|
||||||
unsigned uid) const {
|
unsigned uid) const {
|
||||||
// Use JumpTableDirective otherwise honor the entry size from the jump table
|
// If the target supports GPRel, use it.
|
||||||
// info.
|
if (const char *GPRel32Dir = MAI->getGPRel32Directive()) {
|
||||||
const char *JTEntryDirective = MAI->getPICJumpTableDirective();
|
O << GPRel32Dir << *GetMBBSymbol(MBB->getNumber()) << '\n';
|
||||||
bool HadJTEntryDirective = JTEntryDirective != NULL;
|
return;
|
||||||
if (!HadJTEntryDirective) {
|
|
||||||
JTEntryDirective = MJTI->getEntrySize() == 4 ?
|
|
||||||
MAI->getData32bitsDirective() : MAI->getData64bitsDirective();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *JTEntryDirective = MJTI->getEntrySize() == 4 ?
|
||||||
|
MAI->getData32bitsDirective() : MAI->getData64bitsDirective();
|
||||||
O << JTEntryDirective << ' ';
|
O << JTEntryDirective << ' ';
|
||||||
|
|
||||||
// If we have emitted set directives for the jump table entries, print
|
// If we have emitted set directives for the jump table entries, print
|
||||||
@ -564,8 +563,7 @@ void AsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
|
|||||||
O << *GetMBBSymbol(MBB->getNumber());
|
O << *GetMBBSymbol(MBB->getNumber());
|
||||||
// If the arch uses custom Jump Table directives, don't calc relative to
|
// If the arch uses custom Jump Table directives, don't calc relative to
|
||||||
// JT.
|
// JT.
|
||||||
if (!HadJTEntryDirective)
|
O << '-' << *GetJTISymbol(uid);
|
||||||
O << '-' << *GetJTISymbol(uid);
|
|
||||||
}
|
}
|
||||||
O << '\n';
|
O << '\n';
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ MCAsmInfo::MCAsmInfo() {
|
|||||||
AlignDirective = "\t.align\t";
|
AlignDirective = "\t.align\t";
|
||||||
AlignmentIsInBytes = true;
|
AlignmentIsInBytes = true;
|
||||||
TextAlignFillValue = 0;
|
TextAlignFillValue = 0;
|
||||||
PICJumpTableDirective = 0;
|
GPRel32Directive = 0;
|
||||||
GlobalDirective = "\t.globl\t";
|
GlobalDirective = "\t.globl\t";
|
||||||
SetDirective = 0;
|
SetDirective = 0;
|
||||||
HasLCOMMDirective = false;
|
HasLCOMMDirective = false;
|
||||||
|
@ -17,6 +17,6 @@ using namespace llvm;
|
|||||||
AlphaMCAsmInfo::AlphaMCAsmInfo(const Target &T, const StringRef &TT) {
|
AlphaMCAsmInfo::AlphaMCAsmInfo(const Target &T, const StringRef &TT) {
|
||||||
AlignmentIsInBytes = false;
|
AlignmentIsInBytes = false;
|
||||||
PrivateGlobalPrefix = "$";
|
PrivateGlobalPrefix = "$";
|
||||||
PICJumpTableDirective = ".gprel32";
|
GPRel32Directive = ".gprel32";
|
||||||
WeakRefDirective = "\t.weak\t";
|
WeakRefDirective = "\t.weak\t";
|
||||||
}
|
}
|
||||||
|
@ -22,5 +22,5 @@ MipsMCAsmInfo::MipsMCAsmInfo(const Target &T, const StringRef &TT) {
|
|||||||
PrivateGlobalPrefix = "$";
|
PrivateGlobalPrefix = "$";
|
||||||
CommentString = "#";
|
CommentString = "#";
|
||||||
ZeroDirective = "\t.space\t";
|
ZeroDirective = "\t.space\t";
|
||||||
PICJumpTableDirective = "\t.gpword\t";
|
GPRel32Directive = "\t.gpword\t";
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user