diff options
author | Jan Vesely <jan.vesely@rutgers.edu> | 2016-05-13 20:39:24 +0000 |
---|---|---|
committer | Jan Vesely <jan.vesely@rutgers.edu> | 2016-05-13 20:39:24 +0000 |
commit | 7971464da89eb76579bc47525b50c5561ad2d560 (patch) | |
tree | ae3065fc6f484ab4c3c24c4effab21d77873d2b3 /llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp | |
parent | 4368c1cf7e3bef2f754f82b85e42002dbf026de2 (diff) | |
download | bcm5719-llvm-7971464da89eb76579bc47525b50c5561ad2d560.tar.gz bcm5719-llvm-7971464da89eb76579bc47525b50c5561ad2d560.zip |
AMDGPU: Add support for MCExpr to instruction printer
Reviewers: tstellard
Subscribers: arsenm
Differential Revision: http://reviews.llvm.org/D19790
llvm-svn: 269477
Diffstat (limited to 'llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp b/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp index 86ac73ac691..d67f4951bd4 100644 --- a/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp +++ b/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp @@ -650,8 +650,15 @@ void AMDGPUInstPrinter::printOModSI(const MCInst *MI, unsigned OpNo, void AMDGPUInstPrinter::printLiteral(const MCInst *MI, unsigned OpNo, raw_ostream &O) { - int32_t Imm = MI->getOperand(OpNo).getImm(); - O << Imm << '(' << BitsToFloat(Imm) << ')'; + const MCOperand &Op = MI->getOperand(OpNo); + assert(Op.isImm() || Op.isExpr()); + if (Op.isImm()) { + int64_t Imm = Op.getImm(); + O << Imm << '(' << BitsToFloat(Imm) << ')'; + } + if (Op.isExpr()) { + Op.getExpr()->print(O << '@', &MAI); + } } void AMDGPUInstPrinter::printLast(const MCInst *MI, unsigned OpNo, |