summaryrefslogtreecommitdiffstats
path: root/llvm/utils/update_cc_test_checks.py
Commit message (Collapse)AuthorAgeFilesLines
* [update_cc_test_checks.py] Pass the builtin include dir to clangAlex Richardson2019-10-311-0/+12
| | | | | | | | | | | | | | | | | | | Summary: This is required to update tests that make use of builtin headers. To fix this use the same command expansion as lit does for %clang_cc1. I tested this by updating clang/test/CodeGen/arm-mve-intrinsics/scalar-shifts.c. %clang_cc1 will now expand to `clang -cc1 -internal-isystem $LLVM_BUILD/lib/clang/$VERSION/include -nostdsysteminc`. Reviewers: MaskRay Reviewed By: MaskRay Subscribers: kristof.beyls, dmgreen, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69611
* [Utils][FIX] Unbreak update_XXX_test_checks after 3598b810029dJohannes Doerfert2019-10-311-1/+1
| | | | | The users of build_function_body_dictionary and add_checks need to be adjusted after the changes in UpdateTestChecks/common.py.
* [update_cc_test_checks.py] Fix invalid python string escape sequenceAlex Richardson2019-10-301-1/+1
| | | | This works with current python version but will be an error with 3.9
* [update_cc_test_checks] Support 'clang | opt | FileCheck'Simon Tatham2019-10-101-6/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some clang lit tests use a pipeline of the form // RUN: %clang [args] -O0 %s | opt [specific optimizations] | FileCheck %s to make the expected test output depend on as few optimization phases as possible, for stability. But when you write a RUN line of this form, you lose the ability to use update_cc_test_checks.py to automatically generate the expected output, because it only supports two-stage pipelines consisting of '%clang | FileCheck' (or %clang_cc1). This change extends the set of supported RUN lines so that pipelines with an invocation of `opt` in the middle can still be automatically handled. To implement it, I've adjusted `get_function_body()` so that it can cope with an arbitrary sequence of intermediate pipeline commands. But the code that decides which RUN lines to consider is more conservative: it only adds clang | opt | FileCheck to the set of supported lines, because I didn't want to accidentally include some other kind of line that doesn't output IR at all. (Also in this commit is the minimal change to make this script work at all, after r373912 added an extra parameter to `add_ir_checks`.) Reviewers: MaskRay, xbolva00 Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68406 llvm-svn: 374287
* [UpdateCCTestChecks] Detect function mangled name on separate lineDavid Greene2019-10-081-6/+20
| | | | | | | | | | | | Sometimes functions with large comment blocks in front of them have their declarations output on several lines by c-index-test. Hence the one-line function name/line/mangled pattern will not work to detect them. Break the pattern up into two patterns and keep state after seeing the name/line information until we finally see the mangled name. Differential Revision: https://reviews.llvm.org/D68272 llvm-svn: 374078
* [UpdateTestChecks] Update tests optionDavid Bolvansky2019-08-071-1/+14
| | | | | | | | | | | | | | | | | | | | | Summary: Port of new feature introduced https://reviews.llvm.org/D65610 to other update scripts. - update_*_checks.py: add an alias -u for --update-only - port --update-only to other update_*_test_checks.py scripts - update script aborts if the test file was generated by another update_*_test_checks.py utility Reviewers: lebedev.ri, RKSimon, MaskRay, reames, gbedwell Reviewed By: MaskRay Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65793 llvm-svn: 368174
* [UpdateTestChecks] Emit warning when invalid value for -check-prefix(es) optionDavid Bolvansky2019-07-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The script is silent for the following issue: FileCheck %s -check-prefix=CHECK,POPCOUNT FileCheck will catch it later, but I think we can warn here too. Now it warns: ./update_llc_test_checks.py file.ll WARNING: Supplied prefix 'CHECK,POPCOUNT' is invalid. Prefix must contain only alphanumeric characters, hyphens and underscores. Did you mean --check-prefixes=CHECK,POPCOUNT? Reviewers: lebedev.ri, spatel, RKSimon, craig.topper, nikic, gbedwell Reviewed By: RKSimon Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64589 llvm-svn: 367244
* Fix LLVM IR check lines in utils/update_cc_test_checks.pyFangrui Song2018-03-141-2/+1
| | | | | | | | | | Reviewers: arichardson Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D44400 llvm-svn: 327538
* [utils] Add utils/update_cc_test_checks.pyFangrui Song2018-03-021-0/+242
A utility to update LLVM IR in C/C++ FileCheck test files. Example RUN lines in .c/.cc test files: // RUN: %clang -S -Os -DXX %s -o - | FileCheck %s // RUN: %clangxx -S -Os %s -o - | FileCheck -check-prefix=IR %s Usage: % utils/update_cc_test_checks.py --llvm-bin=release/bin test/a.cc % utils/update_cc_test_checks.py --c-index-test=release/bin/c-index-test --clang=release/bin/clang /tmp/c/a.cc // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py // RUN: %clang -emit-llvm -S -Os -DXX %s -o - | FileCheck -check-prefix=AA %s // RUN: %clangxx -emit-llvm -S -Os %s -o - | FileCheck -check-prefix=BB %s using T = #ifdef XX int __attribute__((vector_size(16))) #else short __attribute__((vector_size(16))) #endif ; // AA-LABEL: _Z3fooDv4_i: // AA: entry: // AA-NEXT: %add = shl <4 x i32> %a, <i32 1, i32 1, i32 1, i32 1> // AA-NEXT: ret <4 x i32> %add // // BB-LABEL: _Z3fooDv8_s: // BB: entry: // BB-NEXT: %add = shl <8 x i16> %a, <i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1> // BB-NEXT: ret <8 x i16> %add T foo(T a) { return a + a; } Differential Revision: https://reviews.llvm.org/D42712 llvm-svn: 326591
OpenPOWER on IntegriCloud