[PATCH] D65190: [X86] X86ATTInstPrinter: replace markup with startMarkup/endMarkup

James Henderson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 19 02:06:41 PDT 2019


jhenderson added inline comments.


================
Comment at: llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp:379-381
+    O << startMarkup(MarkupType::Imm) << '$';
     Op.getExpr()->print(O, &MAI);
+    O << endMarkup();
----------------
seiya wrote:
> jhenderson wrote:
> > seiya wrote:
> > > jhenderson wrote:
> > > > No need for this to be part of this change, but I find it slightly odd that you can't use the withMarkup pattern here. I take it that making the print function return a stream wouldn't be straightforward?
> > > > I take it that making the print function return a stream wouldn't be straightforward?
> > > Does "return a stream" mean `raw_ostream &MCExpr::print(raw_ostream &OS, ...);` instead of `void MCExpr::print(...)`?
> > Yes, that's what I meant.
> How can I utilize that returned stream?  `Op.getExpr()->print(O, &MAI) << withMarkup(MarkupType::Imm) <<'$';` came to my mind but it doesn't work because the `Expr::print` is evaluated before prepending the starting tag (`<imm:`) by withMarkup.
> 
I might be misunderstanding something, but couldn't you do the following?

`withMarkup(O, MarkupType::Imm) << '$' << Op.getExpr()->print(O, &MAI)`




Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65190/new/

https://reviews.llvm.org/D65190





More information about the llvm-commits mailing list