This technique results in an explosion in compile time, resulting from a
huge number of std::tuple/concat instatiations. This technique is replaced
by simpler metaprogramming and results in a signficant reduction in
compile time. A local debug/asan build saw a 4x speed up in the processing
of ArithmeticOps.h.inc, and given the nature of this change every dialect
should see similar reductions in compile time.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Could you perhaps report the before and after on the case you mentioned was bad here to verify this fixes it? (seems likely but would be good to have verification)
Comment Actions
Tested on head and this sped up the compile time of InitAllDialects.h by slightly over 2x (in my debug/asan build), so committing. I'm going to try a few other tweaks to speed things up, but this is fairly significant.