[llvm-commits] [llvm] r81202 - /llvm/trunk/lib/MC/MCExpr.cpp
Chris Lattner
sabre at nondot.org
Mon Sep 7 23:34:07 PDT 2009
Author: lattner
Date: Tue Sep 8 01:34:07 2009
New Revision: 81202
URL: http://llvm.org/viewvc/llvm-project?rev=81202&view=rev
Log:
make formatting of expressions more closely match the existing asmprinter.
Modified:
llvm/trunk/lib/MC/MCExpr.cpp
Modified: llvm/trunk/lib/MC/MCExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCExpr.cpp?rev=81202&r1=81201&r2=81202&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCExpr.cpp (original)
+++ llvm/trunk/lib/MC/MCExpr.cpp Tue Sep 8 01:34:07 2009
@@ -39,9 +39,16 @@
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 @@
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;
}
}
More information about the llvm-commits
mailing list