mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-13 14:47:00 +00:00
Simplify a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32343 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e166340650
commit
0fb259046d
@ -33,20 +33,11 @@ namespace {
|
||||
|
||||
/// Unique incrementer for label values for referencing Global values.
|
||||
///
|
||||
unsigned LabelNumber;
|
||||
|
||||
AlphaAsmPrinter(std::ostream &o, TargetMachine &tm, const TargetAsmInfo *T)
|
||||
: AsmPrinter(o, tm, T), LabelNumber(0) {
|
||||
: AsmPrinter(o, tm, T) {
|
||||
}
|
||||
|
||||
/// We name each basic block in a Function with a unique number, so
|
||||
/// that we can consistently refer to them later. This is cleared
|
||||
/// at the beginning of each call to runOnMachineFunction().
|
||||
///
|
||||
typedef std::map<const Value *, unsigned> ValueMapTy;
|
||||
ValueMapTy NumberForBB;
|
||||
std::string CurSection;
|
||||
|
||||
virtual const char *getPassName() const {
|
||||
return "Alpha Assembly Printer";
|
||||
}
|
||||
@ -54,7 +45,6 @@ namespace {
|
||||
void printOp(const MachineOperand &MO, bool IsCallOp = false);
|
||||
void printOperand(const MachineInstr *MI, int opNum);
|
||||
void printBaseOffsetPair (const MachineInstr *MI, int i, bool brackets=true);
|
||||
void printMachineInstruction(const MachineInstr *MI);
|
||||
bool runOnMachineFunction(MachineFunction &F);
|
||||
bool doInitialization(Module &M);
|
||||
bool doFinalization(Module &M);
|
||||
@ -136,20 +126,6 @@ void AlphaAsmPrinter::printOp(const MachineOperand &MO, bool IsCallOp) {
|
||||
}
|
||||
}
|
||||
|
||||
/// printMachineInstruction -- Print out a single Alpha MI to
|
||||
/// the current output stream.
|
||||
///
|
||||
void AlphaAsmPrinter::printMachineInstruction(const MachineInstr *MI) {
|
||||
++EmittedInsts;
|
||||
if (printInstruction(MI))
|
||||
return; // Printer was automatically generated
|
||||
|
||||
assert(0 && "Unhandled instruction in asm writer!");
|
||||
abort();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/// runOnMachineFunction - This uses the printMachineInstruction()
|
||||
/// method to print assembly for each instruction.
|
||||
///
|
||||
@ -177,7 +153,7 @@ bool AlphaAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
|
||||
break;
|
||||
case Function::WeakLinkage:
|
||||
case Function::LinkOnceLinkage:
|
||||
O << "\t.weak " << CurrentFnName << "\n";
|
||||
O << TAI->getWeakRefDirective() << CurrentFnName << "\n";
|
||||
break;
|
||||
}
|
||||
|
||||
@ -188,16 +164,21 @@ bool AlphaAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
|
||||
// Print out code for the function.
|
||||
for (MachineFunction::const_iterator I = MF.begin(), E = MF.end();
|
||||
I != E; ++I) {
|
||||
printBasicBlockLabel(I, true);
|
||||
O << '\n';
|
||||
if (I != MF.begin()) {
|
||||
printBasicBlockLabel(I, true);
|
||||
O << '\n';
|
||||
}
|
||||
for (MachineBasicBlock::const_iterator II = I->begin(), E = I->end();
|
||||
II != E; ++II) {
|
||||
// Print the assembly for the instruction.
|
||||
++EmittedInsts;
|
||||
O << "\t";
|
||||
printMachineInstruction(II);
|
||||
if (!printInstruction(II)) {
|
||||
assert(0 && "Unhandled instruction in asm writer!");
|
||||
abort();
|
||||
}
|
||||
}
|
||||
}
|
||||
++LabelNumber;
|
||||
|
||||
O << "\t.end " << CurrentFnName << "\n";
|
||||
|
||||
|
@ -117,6 +117,9 @@ namespace {
|
||||
case Alpha::ALTENT:
|
||||
case Alpha::MEMLABEL:
|
||||
case Alpha::PCLABEL:
|
||||
case Alpha::IDEF_I:
|
||||
case Alpha::IDEF_F32:
|
||||
case Alpha::IDEF_F64:
|
||||
--count;
|
||||
break;
|
||||
case Alpha::BR:
|
||||
|
@ -20,4 +20,5 @@ AlphaTargetAsmInfo::AlphaTargetAsmInfo(const AlphaTargetMachine &TM) {
|
||||
PrivateGlobalPrefix = "$";
|
||||
JumpTableDirective = ".gprel32";
|
||||
JumpTableDataSection = "\t.section .rodata\n";
|
||||
WeakRefDirective = "\t.weak\t";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user