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:
Chris Lattner 2010-01-25 21:10:10 +00:00
parent a86106ed88
commit 78f485afb7
5 changed files with 16 additions and 22 deletions

View File

@ -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;
} }

View File

@ -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';
} }

View File

@ -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;

View File

@ -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";
} }

View File

@ -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";
} }