Skip to content

Conversation

@kangguangli
Copy link
Contributor

PR types

Function optimization

PR changes

Others

Description

The usage is as follows:

  pir::PrintHooks hooks;
  // this one retains old printing and adds new info
  hooks.value_print_hook = [](pir::Value v, pir::IrPrinter& printer) {
    printer.IrPrinter::PrintValue(v);
    printer.os << " [extra info]";
  };
  // this one overrides old printing
  hooks.op_print_hook = [](pir::Operation* op, pir::IrPrinter& printer) {
    printer.PrintOpResult(op);
    printer.os << " :=";

    printer.os << " \"" << op->name() << "\"";
    printer.PrintOpOperands(op);
    printer.PrintAttributeMap(op);
    printer.os << " :";
    printer.PrintOpReturnType(op);
    printer.os << "\n";
  };

  hooks.attribute_print_hook = [](pir::Attribute attr,
                                  pir::IrPrinter& printer) {
    printer.os << "[PlaceHolder]";
  };
  hooks.type_print_hook = [](pir::Type type, pir::IrPrinter& printer) {
    printer.os << "[" << type << "]";
  };

  std::cout << pir::CustomPrintHelper{program, hooks};

Others

Pcard-67164

winter-wang
winter-wang previously approved these changes Feb 1, 2024
zyfncg
zyfncg previously approved these changes Feb 1, 2024
@kangguangli kangguangli dismissed stale reviews from zyfncg and winter-wang via f9f4bf6 February 1, 2024 09:49
@kangguangli kangguangli merged commit 811322b into PaddlePaddle:develop Feb 2, 2024
@kangguangli kangguangli deleted the printer_hook branch February 2, 2024 02:54
@paddle-bot
Copy link

paddle-bot bot commented Feb 4, 2024

你的PR提交成功,感谢你对开源项目的贡献!
请关注后续CI自动化测试结果,详情请参考Paddle-CI手册
Your PR has been submitted. Thanks for your contribution!
Please wait for the result of CI firstly. See Paddle CI Manual for details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants