mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-31 17:04:28 +00:00
make formatting of expressions more closely match the existing asmprinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81202 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
8b4ada248a
commit
be73e8c4e7
@ -39,9 +39,16 @@ void MCExpr::print(raw_ostream &OS, const MCAsmInfo *MAI) const {
|
||||
|
||||
case MCExpr::Binary: {
|
||||
const MCBinaryExpr &BE = cast<MCBinaryExpr>(*this);
|
||||
OS << '(';
|
||||
BE.getLHS()->print(OS, MAI);
|
||||
OS << ' ';
|
||||
|
||||
// Only print parens around the LHS if it is non-trivial.
|
||||
if (isa<MCConstantExpr>(BE.getLHS()) || isa<MCSymbolRefExpr>(BE.getLHS())) {
|
||||
BE.getLHS()->print(OS, MAI);
|
||||
} else {
|
||||
OS << '(';
|
||||
BE.getLHS()->print(OS, MAI);
|
||||
OS << ')';
|
||||
}
|
||||
|
||||
switch (BE.getOpcode()) {
|
||||
default: assert(0 && "Invalid opcode!");
|
||||
case MCBinaryExpr::Add: OS << '+'; break;
|
||||
@ -63,9 +70,15 @@ void MCExpr::print(raw_ostream &OS, const MCAsmInfo *MAI) const {
|
||||
case MCBinaryExpr::Sub: OS << '-'; break;
|
||||
case MCBinaryExpr::Xor: OS << '^'; break;
|
||||
}
|
||||
OS << ' ';
|
||||
BE.getRHS()->print(OS, MAI);
|
||||
OS << ')';
|
||||
|
||||
// Only print parens around the LHS if it is non-trivial.
|
||||
if (isa<MCConstantExpr>(BE.getRHS()) || isa<MCSymbolRefExpr>(BE.getRHS())) {
|
||||
BE.getRHS()->print(OS, MAI);
|
||||
} else {
|
||||
OS << '(';
|
||||
BE.getRHS()->print(OS, MAI);
|
||||
OS << ')';
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user