-
Notifications
You must be signed in to change notification settings - Fork 10.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable JumpTableToSwitch pass by default #82546
Enable JumpTableToSwitch pass by default #82546
Conversation
8d98850
to
97cdb5d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This reverts commit 1069823. This has caused second stage timeouts when building Flang on AArch64: https://lab.llvm.org/buildbot/#/builders/179/builds/9442
I've reverted this due to a timeout (which is set to 20 minutes) in the second stage of our AArch64 builders that include Flang. https://lab.llvm.org/buildbot/#/builders/179/builds/9442 Reproducer: FlangRepro.zip
Prior to this patch, an asserts enabled clang takes around 2 minutes. After the patch, I've seen it taking upwards of 20 minutes (could be even more, didn't stick around to find out). Looking at the remaining processes at the end of the build, it's all flang stuff: files.log They probably all include some header or use the same pattern that causes this. |
@DavidSpickett - many thanks for the report,
Potential options:
p.s. I'll monitor the reports here, so in any case - huge thanks for the info, to the best of my knowledge this change has propagated through various CIs (not only at Google) and so far everything has been quite smooth (except this issue), but maybe it's too early to judge. |
@alexander-shaposhnikov What is it that actually causes the compile-time increase in the end? Does the transform lead to catastrophic inlining or something? Flang is a typical representative of the "gratuitous use of terribly designed STL primitives" style of C++ project, so if we're seeing compile-time explosion there, it seems quite likely that we'll also see it in other similar projects. Requiring a flag to work around that is not really acceptable. |
Enable JumpTableToSwitch pass by default.
Test plan: ninja check-all