[PATCH] D67253: clang-misexpect: a standalone tool for verifying the use of __builtin_expect with PGO data

Roman Lebedev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Sep 15 13:47:54 PDT 2019


lebedev.ri added a comment.

Re concurrency - you had standalone `LLVMContext` for each thread, right?

In D67253#1670667 <https://reviews.llvm.org/D67253#1670667>, @paulkirth wrote:

> In D67253#1670569 <https://reviews.llvm.org/D67253#1670569>, @lebedev.ri wrote:
>
> > Layering feels weird here.
> >  Can this be implemented as/limited to just a
> >  `run-clang-misexpect.py` wrapper over clang itself?
> >  That would be best IMHO.
>
>
> I discussed the concurrency issue with some folks who work on libTooling, notably Sam McCall & Dmitri Gribenko. This was the approach they suggested I follow. LibTooling also provides some nice mechanisms for curating compiler options, which is possible, but less than ideal to reimplement in a python script. There are probably more benefits that escape me at the moment, but that was the first one I thought of.
>
> Out of curiosity, if the concurrency issue was fixed in the compiler and the python script was removed/deprecated, would you still feel the same way?


I was actually talking/thinking about the opposite direction, only having the .py wrapper, no standalone tool;
so the opposite solution (no .py, only the tool) is tangential/has different direction.



================
Comment at: clang-tools-extra/docs/clang-misexpect.rst:1-3
+===================
+Clang-Misexpect
+===================
----------------
I was just thinking that i forgot to mention docs in the original review, so thanks.

That being said, i do wonder whether this docs should be reworked
into two separate pages as it is a //bit// misleading right now.
The bulk of this should talk about
clang's `-Wmisexpect`/llvm's `-pgo-warn-misexpect`.

Because right now it seems as-if one has to use the tool,
and as it was brought up in the lists multiple times,
[depending on the exact workflow] that is more involved
than simply passing one more warning flag to the compiler.

(Yes, after specifically looking for it, i can see that
there are mentions/hints that the tool isn't required,
but it's a bit too subtle.)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D67253





More information about the cfe-commits mailing list