aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/NVPTX/NVPTXAsmPrinter.h
diff options
context:
space:
mode:
authorJustin Holewinski <jholewinski@nvidia.com>2013-08-06 14:13:27 +0000
committerJustin Holewinski <jholewinski@nvidia.com>2013-08-06 14:13:27 +0000
commit82767327c59ede1f8663ec9b9a64a668993d501f (patch)
treef6e6c75ebb7e82f6d86053b46551572aedb5d621 /lib/Target/NVPTX/NVPTXAsmPrinter.h
parent8775a51d94b277ca6ebe12a1d20bfc2bc5a53960 (diff)
downloadexternal_llvm-82767327c59ede1f8663ec9b9a64a668993d501f.zip
external_llvm-82767327c59ede1f8663ec9b9a64a668993d501f.tar.gz
external_llvm-82767327c59ede1f8663ec9b9a64a668993d501f.tar.bz2
[NVPTX] Start conversion to MC infrastructure
This change converts the NVPTX target to use the MC infrastructure instead of directly emitting MachineInstr instances. This brings the target more up-to-date with LLVM TOT, and should fix PR15175 and PR15958 (libNVPTXInstPrinter is empty) as a side-effect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187798 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/NVPTX/NVPTXAsmPrinter.h')
-rw-r--r--lib/Target/NVPTX/NVPTXAsmPrinter.h18
1 files changed, 4 insertions, 14 deletions
diff --git a/lib/Target/NVPTX/NVPTXAsmPrinter.h b/lib/Target/NVPTX/NVPTXAsmPrinter.h
index c7b7fb0..27bfa54 100644
--- a/lib/Target/NVPTX/NVPTXAsmPrinter.h
+++ b/lib/Target/NVPTX/NVPTXAsmPrinter.h
@@ -190,18 +190,14 @@ private:
void EmitFunctionBodyEnd();
void EmitInstruction(const MachineInstr *);
+ void lowerToMCInst(const MachineInstr *MI, MCInst &OutMI);
+ bool lowerOperand(const MachineOperand &MO, MCOperand &MCOp);
+ MCOperand GetSymbolRef(const MachineOperand &MO, const MCSymbol *Symbol);
+ unsigned encodeVirtualRegister(unsigned Reg);
void EmitAlignment(unsigned NumBits, const GlobalValue *GV = 0) const {}
void printGlobalVariable(const GlobalVariable *GVar);
- void printOperand(const MachineInstr *MI, int opNum, raw_ostream &O,
- const char *Modifier = 0);
- void printLdStCode(const MachineInstr *MI, int opNum, raw_ostream &O,
- const char *Modifier = 0);
- void printCvtMode(const MachineInstr *MI, int OpNum, raw_ostream &O,
- const char *Modifier = 0);
- void printCmpMode(const MachineInstr *MI, int OpNum, raw_ostream &O,
- const char *Modifier = 0);
void printVecModifiedImmediate(const MachineOperand &MO, const char *Modifier,
raw_ostream &O);
void printMemOperand(const MachineInstr *MI, int opNum, raw_ostream &O,
@@ -224,12 +220,6 @@ private:
void setAndEmitFunctionVirtualRegisters(const MachineFunction &MF);
void emitFunctionTempData(const MachineFunction &MF, unsigned &FrameSize);
bool isImageType(const Type *Ty);
- bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
- unsigned AsmVariant, const char *ExtraCode,
- raw_ostream &);
- bool PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo,
- unsigned AsmVariant, const char *ExtraCode,
- raw_ostream &);
void printReturnValStr(const Function *, raw_ostream &O);
void printReturnValStr(const MachineFunction &MF, raw_ostream &O);