|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
5a4033c3 |
| 19-Jul-2022 |
Nicolai Hähnle <[email protected]> |
update-test-checks: safely handle tests with #if's
There is at least one Clang test (clang/test/CodeGen/arm_acle.c) which has functions guarded by #if's that cause those functions to be compiled onl
update-test-checks: safely handle tests with #if's
There is at least one Clang test (clang/test/CodeGen/arm_acle.c) which has functions guarded by #if's that cause those functions to be compiled only for a subset of RUN lines.
This results in a case where one RUN line has a body for the function and another doesn't. Treat this case as a conflict for any prefixes that the two RUN lines have in common.
This change exposed a bug where functions with '$' in the name weren't properly recognized in ARM assembly (despite there being a test case that was supposed to catch the problem!). This bug is fixed as well.
Differential Revision: https://reviews.llvm.org/D130089
show more ...
|
| #
ac892c70 |
| 11-Jul-2022 |
Prabhdeep Singh Soni <[email protected]> |
[OMPIRBuilder] Add support for simdlen clause
This patch adds OMPIRBuilder support for the simdlen clause for the simd directive. It uses the simdlen support in OpenMPIRBuilder when it is enabled in
[OMPIRBuilder] Add support for simdlen clause
This patch adds OMPIRBuilder support for the simdlen clause for the simd directive. It uses the simdlen support in OpenMPIRBuilder when it is enabled in Clang. Simdlen is lowered by OpenMPIRBuilder by generating the loop.vectorize.width metadata.
Reviewed By: jdoerfert, Meinersbur
Differential Revision: https://reviews.llvm.org/D129149
show more ...
|
| #
b0ce9322 |
| 27-Jun-2022 |
Johannes Doerfert <[email protected]> |
[UpdateTestChecks] Handle prefix reuse for appended check lines
When we appended check lines at the end we could not share prefixes before. This patch should make it possible and allow us to reduce
[UpdateTestChecks] Handle prefix reuse for appended check lines
When we appended check lines at the end we could not share prefixes before. This patch should make it possible and allow us to reduce some check line counts (especially for Clang/OpenMP tests).
See also: https://reviews.llvm.org/D128686
Differential Revision: https://reviews.llvm.org/D128684
show more ...
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5 |
|
| #
6ddc4cd1 |
| 26-May-2022 |
Mircea Trofin <[email protected]> |
Fix break introduced by D124306
argparse.BooleanOptionalAction is not supported until python 3.9.
|
|
Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2 |
|
| #
f15c6021 |
| 22-Apr-2022 |
Mircea Trofin <[email protected]> |
[UpdateTestChecks] Auto-generate stub bodies for unused prefixes
This is scoped to autogenerated tests.
The goal is to support having each RUN line specify a list of check-prefixes where one can sp
[UpdateTestChecks] Auto-generate stub bodies for unused prefixes
This is scoped to autogenerated tests.
The goal is to support having each RUN line specify a list of check-prefixes where one can specify potentially redundant prefixes. For example, for X86, if one specified prefixes for both AVX1 and AVX2, and the codegen happened to match today, one of the prefixes would be used and the onther one not. If the unused prefix were dropped, and later, codegen differences were introduced, one would have to go figure out where to add what prefix (paraphrasing https://lists.llvm.org/pipermail/llvm-dev/2021-February/148326.html)
To avoid getting errors due to unused prefixes, whole directories can be opted out (as discussed on that thread), but that means that tests that aren't autogenerated in such directories could have undetected unused prefix bugs.
This patch proposes an alternative that both avoids the above, dir-level optout, and supports the main autogen scenario discussed first. The autogen tool appends at the end of the test file the list of unused prefixes, together with a note explaining that is the case. Each prefix is set up to always pass.
This way, unexpected unused prefixes are easily discoverable, and expected cases "just work".
Differential Revision: https://reviews.llvm.org/D124306
show more ...
|
| #
996873cd |
| 12-May-2022 |
Alex Richardson <[email protected]> |
[UpdateTestChecks] Use a counter for unpredictable FileCheck variables
Variable captures such as `<MCInst #` can change based on unrelated changes to the LLVM backends, to avoid the generated test c
[UpdateTestChecks] Use a counter for unpredictable FileCheck variables
Variable captures such as `<MCInst #` can change based on unrelated changes to the LLVM backends, to avoid the generated test cases being different use an incrementing counter for variable names instead of using the actual value from the output file. This change may also be beneficial for some nameless IR variables (especially when combined with filtering of output), but for now I've restricted this change to the obvious candidates (--asm-show-inst output).
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D125405
show more ...
|
| #
37a68497 |
| 12-May-2022 |
Alex Richardson <[email protected]> |
[update_llc_test_checks] Use FileCheck captures for MCInst/MCReg output
To avoid test churn when backends add/rename new instructions/registers, it makes sense to use FileCheck captures for the exac
[update_llc_test_checks] Use FileCheck captures for MCInst/MCReg output
To avoid test churn when backends add/rename new instructions/registers, it makes sense to use FileCheck captures for the exact MCInst/Reg number. This is motivated by D125307, where I use --asm-show-inst to differentiate the output for multiple instructions with the same mnemonic.
This does not quite fix the churn issue yet: While files with the generated checks will be immune to the numbers changing, the update script test still suffers from this problem since the number is encoded in the FileCheck variable name. I plan to address this in a follow-up patch.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D125307
show more ...
|
| #
4b5ad57d |
| 12-May-2022 |
Alex Richardson <[email protected]> |
[UpdateTestChecks] Change global functions to NamelessValue members. NFCI
This avoids repeated calls to get_idx_from_ir_value_match() and will make it easier for a future patch that adds new assembl
[UpdateTestChecks] Change global functions to NamelessValue members. NFCI
This avoids repeated calls to get_idx_from_ir_value_match() and will make it easier for a future patch that adds new assembly-level nameless values in addition to the IR ones.
Differential Revision: https://reviews.llvm.org/D125390
show more ...
|
| #
0376c0f2 |
| 10-May-2022 |
Jan Korous <[email protected]> |
Revert "[utils] Avoid hardcoding metadata ids in update_cc_test_checks"
This reverts commit ce583b14b2ec37b1c168bb92020680cb452502b3.
|
| #
ce583b14 |
| 23-Apr-2022 |
Jan Korous <[email protected]> |
[utils] Avoid hardcoding metadata ids in update_cc_test_checks
Specifically for: !tbaa, !tbaa.struct, !annotation, !srcloc, !nosanitize.
The goal is to avoid test brittleness caused by hardcoded va
[utils] Avoid hardcoding metadata ids in update_cc_test_checks
Specifically for: !tbaa, !tbaa.struct, !annotation, !srcloc, !nosanitize.
The goal is to avoid test brittleness caused by hardcoded values.
Differential Revision: https://reviews.llvm.org/D123273
show more ...
|
| #
b1bb76a7 |
| 15-Apr-2022 |
Daniil Kovalev <[email protected]> |
[NFC][UpdateTestChecks] Fix whitespace in common.py and asm.py
While working on D122986, noticed that indentation size varies even within one file. Fixed that - now indentation is 2 spaces everywher
[NFC][UpdateTestChecks] Fix whitespace in common.py and asm.py
While working on D122986, noticed that indentation size varies even within one file. Fixed that - now indentation is 2 spaces everywhere. This indentation
Differential Revision: https://reviews.llvm.org/D123859
show more ...
|
| #
8fbed687 |
| 15-Apr-2022 |
Roman Lebedev <[email protected]> |
[UpdateTestChecks] Prevent rapid onset insanity when forced to write LoopVectorize-driven costmodel tests
Subj, or on other words, we have a lot of tests that are driven by the LoopVectorizer's debu
[UpdateTestChecks] Prevent rapid onset insanity when forced to write LoopVectorize-driven costmodel tests
Subj, or on other words, we have a lot of tests that are driven by the LoopVectorizer's debug output, but we don't have any meaningful way to autogenerate checklines in them, which means that an insurmountable amount of manual work is required when modifying the appropriate cost models.
That is not sustainable, so this presents a solution.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D121133
show more ...
|
| #
8e43cbab |
| 15-Apr-2022 |
Daniil Kovalev <[email protected]> |
[UpdateTestChecks] Add NVPTX support in update_llc_test_checks.py
This patch makes possible generating NVPTX assembly check lines with update_llc_test_checks.py utility.
Differential Revision: http
[UpdateTestChecks] Add NVPTX support in update_llc_test_checks.py
This patch makes possible generating NVPTX assembly check lines with update_llc_test_checks.py utility.
Differential Revision: https://reviews.llvm.org/D122986
show more ...
|
|
Revision tags: llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
2b5a1642 |
| 07-Mar-2022 |
Roman Lebedev <[email protected]> |
UpdateTestChecks: fix handling of UTC with spaces
We can't just split by space, that's not going to give us the same argv we'd have gotten from the shell, it could be in a string, we must actually p
UpdateTestChecks: fix handling of UTC with spaces
We can't just split by space, that's not going to give us the same argv we'd have gotten from the shell, it could be in a string, we must actually parse that as argv.
show more ...
|
| #
df6c26fd |
| 07-Mar-2022 |
Roman Lebedev <[email protected]> |
update_analyze_test_checks.py: fix --filter handling
In particular, after filtering the check lines can't necessarily use `-NEXT`, they may not be one directly after another.
|
|
Revision tags: llvmorg-14.0.0-rc2 |
|
| #
473efae3 |
| 14-Feb-2022 |
Sebastian Neubauer <[email protected]> |
[UpdateTestChecks] Don't skip first line with --filter
body_start was never used, resulting in the first filtered line to be skipped. Fixes the --filter option introduced in D117694.
Differential R
[UpdateTestChecks] Don't skip first line with --filter
body_start was never used, resulting in the first filtered line to be skipped. Fixes the --filter option introduced in D117694.
Differential Revision: https://reviews.llvm.org/D119704
show more ...
|
| #
8565b6f9 |
| 01-Mar-2022 |
Yatao Wang <[email protected]> |
[UpdateLLCTestChecks] Add support for isel debug output in update_llc_test_checks.py
Add a check on run lines to pick up isel options in llc commands and allow generating check lines of isel final o
[UpdateLLCTestChecks] Add support for isel debug output in update_llc_test_checks.py
Add a check on run lines to pick up isel options in llc commands and allow generating check lines of isel final output other than assembly. If llc command line contains -debug-only=isel, update_llc_test_checks.py will try to scrub isel output, otherwise, the script will fall back on default behaviour, which is try to scrub assembly output instead.
The motivation of this change is to allow usage of update_llc_test_checks.py to autogenerate checks of instruction selection results. In this way, we can detect errors at an earlier stage before the compilation goes all the way to assembly. It is an example of having some transparency for the stages between IR and assembly. These generated tests are almost like "unit tests" of isel stage.
This patch only implements the initial change to differentiate isel output from assembly output for Lanai. Other targets will not be supported for isel check generation at the moment. Although adding support for it will only require implementing the function regex and scrubber for corresponding targets.
The Lanai implementation was chosen mainly for the simplicity of demonstrating the difference between isel checks and asm checks.
This patch also do not include the implementation of function prefix, which is required for the generated isel checks to pass. I will put up a follow up revision for the function prefix change to complete isel support.
Reviewed By: Flakebi
Differential Revision: https://reviews.llvm.org/D119368
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init |
|
| #
ecd46edd |
| 31-Jan-2022 |
David Greene <[email protected]> |
[UpdateTestChecks] Re-add --filter and --filter-out options
Re-add filtering options with fixes for failed tests. We were not passing the is_filtered argument in all check generator calls in update
[UpdateTestChecks] Re-add --filter and --filter-out options
Re-add filtering options with fixes for failed tests. We were not passing the is_filtered argument in all check generator calls in update_cc_test_checks.py
Enhance the various update_*_test_checks.py tools to allow filtering the tool output with regular expressions. The --filter option will emit only tool output lines matching the given regular expression while the --filter-out option will emit only tools output lines not matching the given regular expression. Filters are applied in order of appearance on the command line (or in UTC_ARGS) and the first matching filter terminates the search.
This allows test authors to create more focused tests by removing irrelevant tool output and checking only the pieces of output necessary to test the desired functionality.
Differential Revision: https://reviews.llvm.org/D117694
show more ...
|
| #
7e32d2b2 |
| 29-Jan-2022 |
David Greene <[email protected]> |
Revert "[UpdateTestChecks] Add --filter and --filter-out options"
Broke some update-test-checks tests. Reverting while developing a fix.
This reverts commit 030f71698d52f228929da5e3148602f4a3daff7
Revert "[UpdateTestChecks] Add --filter and --filter-out options"
Broke some update-test-checks tests. Reverting while developing a fix.
This reverts commit 030f71698d52f228929da5e3148602f4a3daff7d.
show more ...
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
| #
030f7169 |
| 19-Jan-2022 |
David Greene <[email protected]> |
[UpdateTestChecks] Add --filter and --filter-out options
Enhance the various update_*_test_checks.py tools to allow filtering the tool output with regular expressions. The --filter option will emit
[UpdateTestChecks] Add --filter and --filter-out options
Enhance the various update_*_test_checks.py tools to allow filtering the tool output with regular expressions. The --filter option will emit only tool output lines matching the given regular expression while the --filter-out option will emit only tools output lines not matching the given regular expression. Filters are applied in order of appearance on the command line (or in UTC_ARGS) and the first matching filter terminates the search.
This allows test authors to create more focused tests by removing irrelevant tool output and checking only the pieces of output necessary to test the desired functionality.
Differential Revision: https://reviews.llvm.org/D117694
show more ...
|
| #
de37912f |
| 28-Jan-2022 |
Jay Foad <[email protected]> |
[update_test_checks] Fix option name in warning message
|
|
Revision tags: llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
| #
180625fc |
| 18-Nov-2021 |
Philip Reames <[email protected]> |
Add a breadcrumb comment to make debugging a user error when using ./utils/update_analyze_test_checks.py easier.
We won't talk about how long it took me to figure this out. The difference in batch
Add a breadcrumb comment to make debugging a user error when using ./utils/update_analyze_test_checks.py easier.
We won't talk about how long it took me to figure this out. The difference in batch vs interactive on the "did you mean to print bitcode" message made this confusing.
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4 |
|
| #
a2817703 |
| 24-Sep-2021 |
Alex Richardson <[email protected]> |
[UpdateTestChecks][NFC] Drop a python2 workaround
|
| #
ecd5145c |
| 21-Sep-2021 |
Sebastian Neubauer <[email protected]> |
[Utils] Replace llc with cat for tests
Make the update_llc_test_checks script test independant of llc behavior by using cat with static files to simulate llc output.
This allows changing llc withou
[Utils] Replace llc with cat for tests
Make the update_llc_test_checks script test independant of llc behavior by using cat with static files to simulate llc output.
This allows changing llc without breaking the script test case.
The update script is executed in a temporary directory, so the llc-generated assembly files are copied there. %T is deprecated, but it allows copying a file with a predictable filename.
Differential Revision: https://reviews.llvm.org/D110143
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1 |
|
| #
48648931 |
| 29-Jul-2021 |
Sebastian Neubauer <[email protected]> |
[Utils] Do not remove comments in llc test script
When checking if two prefixes can be merged for a function, update_llc_test_checks.py removed IR comments before comparing llc outputs of different
[Utils] Do not remove comments in llc test script
When checking if two prefixes can be merged for a function, update_llc_test_checks.py removed IR comments before comparing llc outputs of different RUN lines. This means, if one RUN line emited lines starting with ';' and another RUN line emited the same lines except the ones starting with ';', both RUNs would be merged (if they share a prefix).
However, CHECK-NEXT lines check the comments, otherwise they fail, so the script should not merge RUNs if they contain different comments.
Differential Revision: https://reviews.llvm.org/D101312
show more ...
|