aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-04-04 18:14:01 +0000
committerChris Lattner <sabre@nondot.org>2010-04-04 18:14:01 +0000
commit300a4c5640fb1c717ba0d7108d15aec1bd7eb396 (patch)
treeb710fc249d8784d9517033e83e0a405447724ef2
parent9d1c1ada213c80135fbdda704175aae689daa6f9 (diff)
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) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100337 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/CodeGen/AsmPrinter.h33
-rw-r--r--lib/CodeGen/AsmPrinter/AsmPrinter.cpp24
2 files changed, 21 insertions, 36 deletions
diff --git a/include/llvm/CodeGen/AsmPrinter.h b/include/llvm/CodeGen/AsmPrinter.h
index 212b1c1c8e..89917f28a6 100644
--- a/include/llvm/CodeGen/AsmPrinter.h
+++ b/include/llvm/CodeGen/AsmPrinter.h
@@ -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.
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 2a8e3eee45..e8b6ff40c9 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -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.