[llvm] Reenable JumpTableToSwitch pass by default (PR #83229)
David Spickett via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 28 05:50:09 PST 2024
DavidSpickett wrote:
Remembering to rebuild this time, I tried a few thresholds:
* 5, takes at least half an hour on a single file, killed it before it could finish since that's going to break the 20 minute timeout anyway.
* 4, same.
* 3, longest time on a single file is around 10 minutes and the build completes in a reasonable time.
Not sure that a jump table size of 3 even worth looking at, but it's what tames the build.
For context, this is happening on a server with 160 Ampere Altra (Neoverse N1) cores, so it can do plenty of work while waiting for flang files to compile which helps the overall build time. Also we may be bumping up against single core performance perhaps that is why you were able to use threshold 5. It does not seem like a good idea to introduce something that even high end hardware struggles with, even if Flang's design might not be ideal.
If there is a Google codebase that kinda looks like flang but does not have these problems, perhaps we can compare and refactor flang to match, but that's a whole other task.
Again the bot's config is available in the build logs, https://lab.llvm.org/buildbot/#/builders/179/builds/9480, if you want to see if there's some flag that might be making this worse but in general it's gonna be what's in the flang sources as you've already seen.
https://github.com/llvm/llvm-project/pull/83229
More information about the llvm-commits
mailing list