[llvm] [TableGen] Add PrintError family overload that take a print function (PR #107333)
Rahul Joshi via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 4 22:36:16 PDT 2024
jurahul wrote:
AFAIK it does not. It splits the format string into fragments and prints
them one-by-one.
On Wed, Sep 4, 2024 at 10:03 PM Craig Topper ***@***.***>
wrote:
> ***@***.**** commented on this pull request.
> ------------------------------
>
> In llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
> <https://github.com/llvm/llvm-project/pull/107333#discussion_r1744805014>:
>
> > @@ -1600,18 +1601,13 @@ static TreePatternNode &getOperandNum(unsigned OpNo, TreePatternNode &N,
> return N;
> }
>
> - OpNo -= NumResults;
> -
> - if (OpNo >= N.getNumChildren()) {
> - std::string S;
> - raw_string_ostream OS(S);
> - OS << "Invalid operand number in type constraint " << (OpNo + NumResults)
> - << " ";
> - N.print(OS);
> - PrintFatalError(S);
> + if (OpNo - NumResults >= N.getNumChildren()) {
> + PrintFatalError([&N, OpNo](raw_ostream &OS) {
> + OS << formatv("Invalid operand number {0} in type constraint ", OpNo);
>
> Doesn't formatv create a buffer to hold the full string before printing?
> Would `OS << "Invalid operand number " << OpNo << "in type constraint" be
> better?
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/llvm/llvm-project/pull/107333#pullrequestreview-2281854626>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/APRMUB7RGNH547SHXTC6XTDZU7Q2BAVCNFSM6AAAAABNVK2A5WVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDEOBRHA2TINRSGY>
> .
> You are receiving this because you authored the thread.Message ID:
> ***@***.***>
>
https://github.com/llvm/llvm-project/pull/107333
More information about the llvm-commits
mailing list