-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
SIMD regression tests #13777
SIMD regression tests #13777
Conversation
…added debug info of worker processes/flags
One possible problem here is that, if these tests are run on an architecture without SIMD instructions, or where LLVM thinks use of SIMD for some of these cases is possible but not profitable, they will fail. I'm not sure what the right solution is here. |
Can someone remind me what the problem here was? Basically every time there is a performance regression the generated code explodes in size. Being able to check generated code seems like it could catch many problems at C.I time instead of "when someone notices it weeks down the road"-time. Issues like: #15274, #16185 should in my view have codegen tests. |
+1 to codegen tests. The simplest thing I can think of is having a test that the number of instructions emitted is less than some fixed threshold. If that fails, then we can investigate and either fix the issue or bump the limit if the generated code is still ok just unexpectedly verbose (e.g. some kind of unrolling). |
@KristofferC In that particular case the test was to check for a "vector" keyword in the LLVM IR returned by code_llvm. The problem was that the IR varied depending on the processor type, causing some of the tests to fail on some of the (older) CI machines. |
According to #13686 (comment) it sounds like the current test suite is sufficient. |
Implements the following:
--check-bounds=yes
.