mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
clean up the asmprinter interface a bit, rename a few
"Print" methods to "Emit". Emit is something that goes to an mc streamer, Print is something that goes to a raw_ostream (for inline asm) llvm-svn: 100337
This commit is contained in:
parent
cb654f3113
commit
0d3490e0b0
@ -62,9 +62,6 @@ namespace llvm {
|
||||
/// function.
|
||||
///
|
||||
MachineLoopInfo *LI;
|
||||
public:
|
||||
/// MMI - This is a pointer to the current MachineModuleInfo.
|
||||
MachineModuleInfo *MMI;
|
||||
|
||||
protected:
|
||||
/// DW - If available, this is a pointer to the current dwarf writer.
|
||||
@ -76,9 +73,6 @@ namespace llvm {
|
||||
///
|
||||
TargetMachine &TM;
|
||||
|
||||
/// getObjFileLowering - Return information about object file lowering.
|
||||
TargetLoweringObjectFile &getObjFileLowering() const;
|
||||
|
||||
/// Target Asm Printer information.
|
||||
///
|
||||
const MCAsmInfo *MAI;
|
||||
@ -97,6 +91,9 @@ namespace llvm {
|
||||
/// The current machine function.
|
||||
const MachineFunction *MF;
|
||||
|
||||
/// MMI - This is a pointer to the current MachineModuleInfo.
|
||||
MachineModuleInfo *MMI;
|
||||
|
||||
/// Name-mangler for global names.
|
||||
///
|
||||
Mangler *Mang;
|
||||
@ -108,12 +105,13 @@ namespace llvm {
|
||||
|
||||
/// getCurrentSection() - Return the current section we are emitting to.
|
||||
const MCSection *getCurrentSection() const;
|
||||
|
||||
|
||||
/// VerboseAsm - Emit comments in assembly output if this is true.
|
||||
///
|
||||
bool VerboseAsm;
|
||||
|
||||
/// getObjFileLowering - Return information about object file lowering.
|
||||
TargetLoweringObjectFile &getObjFileLowering() const;
|
||||
|
||||
private:
|
||||
// GCMetadataPrinters - The garbage collection metadata printer table.
|
||||
@ -140,7 +138,6 @@ namespace llvm {
|
||||
///
|
||||
unsigned getFunctionNumber() const;
|
||||
|
||||
protected:
|
||||
/// getAnalysisUsage - Record analysis usage.
|
||||
///
|
||||
void getAnalysisUsage(AnalysisUsage &AU) const;
|
||||
@ -244,7 +241,7 @@ namespace llvm {
|
||||
|
||||
public:
|
||||
//===------------------------------------------------------------------===//
|
||||
// Emission and print routines
|
||||
// Emission routines.
|
||||
//
|
||||
|
||||
/// EmitInt8 - Emit a byte directive and value.
|
||||
@ -287,10 +284,6 @@ namespace llvm {
|
||||
unsigned ForcedAlignBits = 0,
|
||||
bool UseFillExpr = true) const;
|
||||
|
||||
/// printDeclare - This method prints a local variable declaration used by
|
||||
/// debug tables.
|
||||
void printDeclare(const MachineInstr *MI) const;
|
||||
|
||||
/// GetSymbolWithGlobalValueBase - Return the MCSymbol for a symbol with
|
||||
/// global value name as its base, with the specified suffix, and where the
|
||||
/// symbol is forced to have private linkage if ForcePrivate is true.
|
||||
@ -350,18 +343,16 @@ namespace llvm {
|
||||
/// instruction's DebugLoc.
|
||||
void processDebugLoc(const MachineInstr *MI, bool BeforePrintingInsn);
|
||||
|
||||
void printLabelInst(const MachineInstr *MI) const;
|
||||
|
||||
/// printInlineAsm - This method formats and prints the specified machine
|
||||
/// EmitInlineAsm - This method formats and emits the specified machine
|
||||
/// instruction that is an inline asm.
|
||||
void printInlineAsm(const MachineInstr *MI) const;
|
||||
void EmitInlineAsm(const MachineInstr *MI) const;
|
||||
|
||||
/// printImplicitDef - This method prints the specified machine instruction
|
||||
/// EmitImplicitDef - This method emits the specified machine instruction
|
||||
/// that is an implicit def.
|
||||
void printImplicitDef(const MachineInstr *MI) const;
|
||||
void EmitImplicitDef(const MachineInstr *MI) const;
|
||||
|
||||
/// printKill - This method prints the specified kill machine instruction.
|
||||
void printKill(const MachineInstr *MI) const;
|
||||
/// EmitKill - This method emits the specified kill machine instruction.
|
||||
void EmitKill(const MachineInstr *MI) const;
|
||||
|
||||
/// EmitVisibility - This emits visibility information about symbol, if
|
||||
/// this is suported by the target.
|
||||
|
@ -440,16 +440,16 @@ void AsmPrinter::EmitFunctionBody() {
|
||||
case TargetOpcode::DBG_LABEL:
|
||||
case TargetOpcode::EH_LABEL:
|
||||
case TargetOpcode::GC_LABEL:
|
||||
printLabelInst(II);
|
||||
OutStreamer.EmitLabel(II->getOperand(0).getMCSymbol());
|
||||
break;
|
||||
case TargetOpcode::INLINEASM:
|
||||
printInlineAsm(II);
|
||||
EmitInlineAsm(II);
|
||||
break;
|
||||
case TargetOpcode::IMPLICIT_DEF:
|
||||
printImplicitDef(II);
|
||||
EmitImplicitDef(II);
|
||||
break;
|
||||
case TargetOpcode::KILL:
|
||||
printKill(II);
|
||||
EmitKill(II);
|
||||
break;
|
||||
default:
|
||||
EmitInstruction(II);
|
||||
@ -1385,9 +1385,9 @@ void AsmPrinter::processDebugLoc(const MachineInstr *MI,
|
||||
}
|
||||
|
||||
|
||||
/// printInlineAsm - This method formats and prints the specified machine
|
||||
/// EmitInlineAsm - This method formats and emits the specified machine
|
||||
/// instruction that is an inline asm.
|
||||
void AsmPrinter::printInlineAsm(const MachineInstr *MI) const {
|
||||
void AsmPrinter::EmitInlineAsm(const MachineInstr *MI) const {
|
||||
assert(MI->isInlineAsm() && "printInlineAsm only works on inline asms");
|
||||
|
||||
unsigned NumOperands = MI->getNumOperands();
|
||||
@ -1606,9 +1606,9 @@ void AsmPrinter::printInlineAsm(const MachineInstr *MI) const {
|
||||
MAI->getInlineAsmEnd());
|
||||
}
|
||||
|
||||
/// printImplicitDef - This method prints the specified machine instruction
|
||||
/// EmitImplicitDef - This method emits the specified machine instruction
|
||||
/// that is an implicit def.
|
||||
void AsmPrinter::printImplicitDef(const MachineInstr *MI) const {
|
||||
void AsmPrinter::EmitImplicitDef(const MachineInstr *MI) const {
|
||||
if (!VerboseAsm) return;
|
||||
unsigned RegNo = MI->getOperand(0).getReg();
|
||||
OutStreamer.AddComment(Twine("implicit-def: ") +
|
||||
@ -1616,7 +1616,7 @@ void AsmPrinter::printImplicitDef(const MachineInstr *MI) const {
|
||||
OutStreamer.AddBlankLine();
|
||||
}
|
||||
|
||||
void AsmPrinter::printKill(const MachineInstr *MI) const {
|
||||
void AsmPrinter::EmitKill(const MachineInstr *MI) const {
|
||||
if (!VerboseAsm) return;
|
||||
|
||||
std::string Str = "kill:";
|
||||
@ -1631,12 +1631,6 @@ void AsmPrinter::printKill(const MachineInstr *MI) const {
|
||||
OutStreamer.AddBlankLine();
|
||||
}
|
||||
|
||||
/// printLabel - This method prints a local label used by debug and
|
||||
/// exception handling tables.
|
||||
void AsmPrinter::printLabelInst(const MachineInstr *MI) const {
|
||||
OutStreamer.EmitLabel(MI->getOperand(0).getMCSymbol());
|
||||
}
|
||||
|
||||
/// PrintAsmOperand - Print the specified operand of MI, an INLINEASM
|
||||
/// instruction, using the specified assembler variant. Targets should
|
||||
/// override this to format as appropriate.
|
||||
|
Loading…
Reference in New Issue
Block a user