[PATCH] D94472: [WIP][clang][cli] Command line round-trip for HeaderSearch options

Duncan P. N. Exon Smith via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 26 12:05:57 PST 2021


dexonsmith added a comment.

In D94472#2523053 <https://reviews.llvm.org/D94472#2523053>, @Bigcheese wrote:

> In D94472#2519838 <https://reviews.llvm.org/D94472#2519838>, @jansvoboda11 wrote:
>
>> In D94472#2508018 <https://reviews.llvm.org/D94472#2508018>, @dexonsmith wrote:
>>
>>> `strict` mode additionally uses the `GeneratedArgs1` to fill CompilerInvocation, indirectly checking both directions by requiring tests to pass both with and without this round-trip. However, during development people generally only run the tests one way and the failure mode won't be ideal.
>>
>> So people build without assertions during development? In that case, I agree that erroring out on `GeneratedArgs1 != GeneratedArgs2` (in all kinds of builds) would improve the experience. I don't think there's anything preventing us to incorporate this into the current patch.
>
> The only issue I have with this if always parsing twice has a noticeable performance impact for any users of Clang. Can we measure the impact? If it's small (< 100ms ?) then that's fine. I'm also concerned about users like cling and clangd.

I think the idea is only to parse twice when `-round-trip-args` is on, which the driver will only set by default in asserts mode. Good to measure the impact nevertheless.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D94472



More information about the cfe-commits mailing list