diff options
Diffstat (limited to 'lib/Target/BPF/InstPrinter/BPFInstPrinter.cpp')
-rw-r--r-- | lib/Target/BPF/InstPrinter/BPFInstPrinter.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/Target/BPF/InstPrinter/BPFInstPrinter.cpp b/lib/Target/BPF/InstPrinter/BPFInstPrinter.cpp index 536ae4df937..6f81e020b99 100644 --- a/lib/Target/BPF/InstPrinter/BPFInstPrinter.cpp +++ b/lib/Target/BPF/InstPrinter/BPFInstPrinter.cpp @@ -94,3 +94,16 @@ void BPFInstPrinter::printImm64Operand(const MCInst *MI, unsigned OpNo, else O << Op; } + +void BPFInstPrinter::printBrTargetOperand(const MCInst *MI, unsigned OpNo, + raw_ostream &O) { + const MCOperand &Op = MI->getOperand(OpNo); + if (Op.isImm()) { + int16_t Imm = Op.getImm(); + O << ((Imm >= 0) ? "+" : "") << Imm; + } else if (Op.isExpr()) { + printExpr(Op.getExpr(), O); + } else { + O << Op; + } +} |