@@ -32,20 +32,6 @@ void BPFInstPrinter::printInst(const MCInst *MI, uint64_t Address,
32
32
printAnnotation (O, Annot);
33
33
}
34
34
35
- static void printExpr (const MCExpr *Expr, raw_ostream &O) {
36
- const MCSymbolRefExpr *SRE;
37
-
38
- if (const MCBinaryExpr *BE = dyn_cast<MCBinaryExpr>(Expr))
39
- SRE = dyn_cast<MCSymbolRefExpr>(BE->getLHS ());
40
- else
41
- SRE = dyn_cast<MCSymbolRefExpr>(Expr);
42
- if (!SRE)
43
- report_fatal_error (" Unexpected MCExpr type." );
44
-
45
- assert (SRE->getSpecifier () == 0 );
46
- O << *Expr;
47
- }
48
-
49
35
void BPFInstPrinter::printOperand (const MCInst *MI, unsigned OpNo,
50
36
raw_ostream &O) {
51
37
const MCOperand &Op = MI->getOperand (OpNo);
@@ -55,7 +41,7 @@ void BPFInstPrinter::printOperand(const MCInst *MI, unsigned OpNo,
55
41
O << formatImm ((int32_t )Op.getImm ());
56
42
} else {
57
43
assert (Op.isExpr () && " Expected an expression" );
58
- printExpr (Op.getExpr (), O );
44
+ MAI. printExpr (O, * Op.getExpr ());
59
45
}
60
46
}
61
47
@@ -86,7 +72,7 @@ void BPFInstPrinter::printImm64Operand(const MCInst *MI, unsigned OpNo,
86
72
if (Op.isImm ())
87
73
O << formatImm (Op.getImm ());
88
74
else if (Op.isExpr ())
89
- printExpr (Op.getExpr (), O );
75
+ MAI. printExpr (O, * Op.getExpr ());
90
76
else
91
77
O << Op;
92
78
}
@@ -103,7 +89,7 @@ void BPFInstPrinter::printBrTargetOperand(const MCInst *MI, unsigned OpNo,
103
89
O << ((Imm >= 0 ) ? " +" : " " ) << formatImm (Imm);
104
90
}
105
91
} else if (Op.isExpr ()) {
106
- printExpr (Op.getExpr (), O );
92
+ MAI. printExpr (O, * Op.getExpr ());
107
93
} else {
108
94
O << Op;
109
95
}
0 commit comments