Question about the build

If I rebuild TableGen and then build lib/Target/all, shouldn't Ninja rebuild all the target .inc files and then all the files that include those .inc files? I realize that identical .inc files are not written, but it's not even running TableGen on the .td files.

I swear it was rebuilding a couple of weeks ago, but it isn't now. I'm doubting my mental faculties on this issue.

It works fine for me.

touch a file in llvm/utils/TableGen/
ninja lib/Target/all
# llvm-tblgen is rebuilt
# include/llvm/IR/IntrinsicsXcore.h
lib/Target/AArch64/ etc are rebuilt

When I do that, Ninja builds:

PseudoLoweringEmitter.cpp [the file I touched]

If I touch a target's .td file, then all all the .inc files are rebuilt, as expected.

About a week ago I cleared out the CMake cache and the CmakeFiles directory. Could that be related? I'm not sure why that would change file dependencies.