[PATCH] D129222: [pseudo] Implement a guard to determine function declarator.

Sam McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 21 04:37:12 PDT 2022


sammccall added a comment.

In D129222#3668073 <https://reviews.llvm.org/D129222#3668073>, @mizvekov wrote:

> In D129222#3667638 <https://reviews.llvm.org/D129222#3667638>, @hokein wrote:
>
>> Yeah,  the native clang-pseudo-gen tool didn't rebuild somehow even its source file changes, it is a bug in our cmake config. Should be fixed in 2955192df8ac270515b5fa4aaa9e9380148e7f00 <https://reviews.llvm.org/rG2955192df8ac270515b5fa4aaa9e9380148e7f00> (I verified it locally). Can you retry it with `LLVM_OPTIMIZED_TABLEGEN` on?
>
> Yeah I confirm that fixes it, thanks!
>
> Though it's strange that you would have to declare that dependency explicitly, I think it should be implied.

I think what's going on here: outer cmake invokes this opaque external command (which just _happens_ to be cmake --build) to produce an exe. The outer cmake has no special knowledge of what the inner cmake is going to use as inputs, so i it never invalidates the exe and invokes inner cmake again. Having the native exe depend on the target exe is a hack: it means that it (indirectly) depends on the right set of sources and is invalidated when they change. (In a perfect world we wouldn't build the target clang-pseudo-gen at all)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D129222



More information about the cfe-commits mailing list