tree d19bad10d00a421c1794f313556e8c5368738df4
parent c9095aa3103460c967fd5ee5dcc695284793ef3c
author Fangrui Song <i@maskray.me> 1743397394 -0700
committer GitHub <noreply@github.com> 1743397394 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJn6iISCRC1aQ7uu5UhlAAAwwIQAGY37rk0/a1kF5sed0Sa9D3M
 Ze/6hEwhU9aCSVauKxQeHdf6Y2wXmhKU1UiuOfpTlkTca2Vp+0b3155iF6Fs+cEF
 vPsqgJ18OKmP8R1QlJAEhaSF0bJmofqrOc43iiCCMqrvdWcptAzePS551j7kEuZ8
 euiUHMcriL7R8Ts1dmEma03j1Z1xigJxmCsmQU+5fdVA3V2Uek/pngc0x2A953WS
 geblNHe1ia0rt+Pki0VXVpDeCMWdlRqLexNJHPc3FQphtjA0T5EJUQsd9ynzqhU3
 0RQEk/NtxxMu3J4HjLv7gQar2dhw2G3uYbTrTH9pcca611Cdyy6TLQ3EWBgYIXQM
 BP3p+dpr6sCqCV9Mjg5xZLJCPrmBWhhEfPL+nYD6EJPSblEuZQaUW+W8wkcirRSH
 xw7bFrVKlM7/AMXbiQIqJcfuQ7Kh931HQc8GQ+eFn8dnCtiF3JkIgNB8H5WZabIe
 o0ZXumR5RQ22xRBzblh5mWQ7HxcamyzT//0cyYWUnM5eexTrjYynOaY9Wnmyf8yC
 qBy08Ipo8qkJWODOpPPlh2xJXUgCgEjWBMapzEdyfqH2Ee+gAKO7ccCgjAkzqwKX
 wtS4v2a5wUnRfEzbavntkAwpulmLZ7JOknYz40135mcZhgd8iXAuEib6sj6jfFDq
 OQtR+RXnYfro9wTQ/tgo
 =gTu7
 -----END PGP SIGNATURE-----
 

[MC] Simplify MCBinaryExpr/MCUnaryExpr printing by reducing parentheses (#133674)

The existing pretty printer generates excessive parentheses for
MCBinaryExpr expressions. This update removes unnecessary parentheses
of MCBinaryExpr with +/- operators and MCUnaryExpr.
Since relocatable expressions only use + and -, this change improves
readability in most cases.

Examples:

- (SymA - SymB) + C now prints as SymA - SymB + C.
  This updates the output of -fexperimental-relative-c++-abi-vtables for
  AArch64 and x86 to `.long _ZN1B3fooEv@PLT-_ZTV1B-8`
- expr + (MCTargetExpr) now prints as expr + MCTargetExpr, with this
  change primarily affecting AMDGPUMCExpr.