|
Revision tags: llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1 |
|
| #
197194b6 |
| 13-Apr-2018 |
Rui Ueyama <[email protected]> |
Define InitLLVM to do common initialization all at once.
We have a few functions that virtually all command wants to run on process startup/shutdown. This patch adds InitLLVM class to do that all at
Define InitLLVM to do common initialization all at once.
We have a few functions that virtually all command wants to run on process startup/shutdown. This patch adds InitLLVM class to do that all at once, so that we don't need to copy-n-paste boilerplate code to each llvm command's main() function.
Differential Revision: https://reviews.llvm.org/D45602
llvm-svn: 330046
show more ...
|
|
Revision tags: llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1 |
|
| #
83e63d96 |
| 16-Jan-2018 |
George Rimar <[email protected]> |
[FileCheck] - Fix possible buffer out of bounds access when parsing --check-prefix.
FileCheck tool crashes when trying to parse --check-prefix argument if there is no any data after it.
For example
[FileCheck] - Fix possible buffer out of bounds access when parsing --check-prefix.
FileCheck tool crashes when trying to parse --check-prefix argument if there is no any data after it.
For example test like following would crash if there are no symbols and no EOL mark after `boom`:
# REQUIRES: x86 # RUN: <skipped few lines> # RUN: llvm-readobj -t %t | FileCheck %s --check-prefix=boom
Patch fixes the issue.
Differential revision: https://reviews.llvm.org/D42057
llvm-svn: 322536
show more ...
|
|
Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2 |
|
| #
46e1fd61 |
| 07-Nov-2017 |
Alexander Richardson <[email protected]> |
Add a -D flag to FileCheck to define variables
Summary: This makes it very easy to test files that only differ in a constant value somewhere in the test case.
Reviewers: jlebar, hfinkel, chandlerc,
Add a -D flag to FileCheck to define variables
Summary: This makes it very easy to test files that only differ in a constant value somewhere in the test case.
Reviewers: jlebar, hfinkel, chandlerc, probinson
Reviewed By: probinson
Subscribers: probinson, llvm-commits
Differential Revision: https://reviews.llvm.org/D39629
llvm-svn: 317572
show more ...
|
|
Revision tags: llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1, llvmorg-4.0.1, llvmorg-4.0.1-rc3 |
|
| #
cf60ab31 |
| 07-Jun-2017 |
Benjamin Kramer <[email protected]> |
[FileCheck] Don't scan past the closing CHECK-DAG for CHECK-NOT inside CHECK-DAG
If there's enough data in fron of it the skipped region would just become arbitrarily large, and we scan for the CHEC
[FileCheck] Don't scan past the closing CHECK-DAG for CHECK-NOT inside CHECK-DAG
If there's enough data in fron of it the skipped region would just become arbitrarily large, and we scan for the CHECK-NOT everywhere.
llvm-svn: 304900
show more ...
|
|
Revision tags: llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1 |
|
| #
b5ecceff |
| 14-Mar-2017 |
James Henderson <[email protected]> |
Test commit.
llvm-svn: 297731
|
| #
f55e72a5 |
| 09-Mar-2017 |
Artem Belevich <[email protected]> |
[FileCheck] Added --enable-var-scope option to enable scope for regex variables.
If `--enable-var-scope` is in effect, variables with names that start with `$` are considered to be global. All other
[FileCheck] Added --enable-var-scope option to enable scope for regex variables.
If `--enable-var-scope` is in effect, variables with names that start with `$` are considered to be global. All other variables are local. All local variables get undefined at the beginning of each CHECK-LABEL block. Global variables are not affected by CHECK-LABEL. This makes it easier to ensure that individual tests are not affected by variables set in preceding tests.
Differential Revision: https://reviews.llvm.org/D30749
llvm-svn: 297396
show more ...
|
|
Revision tags: llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1 |
|
| #
1714676a |
| 18-Dec-2016 |
Tom de Vries <[email protected]> |
[FileCheck] Fix --strict-whitespace --match-full-lines
Make sure FileCheck --strict-whitespace --match-full-lines translates 'CHECK: bla ' into pattern '^ bla $' instead of pattern '^bla$'.
llvm-sv
[FileCheck] Fix --strict-whitespace --match-full-lines
Make sure FileCheck --strict-whitespace --match-full-lines translates 'CHECK: bla ' into pattern '^ bla $' instead of pattern '^bla$'.
llvm-svn: 290069
show more ...
|
| #
a26bc914 |
| 18-Dec-2016 |
Tom de Vries <[email protected]> |
[FileCheck] Fix comment in ReadCheckFile
The comment in ReadCheckFile claims that both leading and trailing whitespace are removed, but the associated statement only removes leading whitespace.
llv
[FileCheck] Fix comment in ReadCheckFile
The comment in ReadCheckFile claims that both leading and trailing whitespace are removed, but the associated statement only removes leading whitespace.
llvm-svn: 290061
show more ...
|
| #
726774cb |
| 11-Dec-2016 |
Chandler Carruth <[email protected]> |
[FileCheck] Re-implement the logic to find each check prefix in the check file to not be unreasonably slow in the face of multiple check prefixes.
The previous logic would repeatedly scan potentiall
[FileCheck] Re-implement the logic to find each check prefix in the check file to not be unreasonably slow in the face of multiple check prefixes.
The previous logic would repeatedly scan potentially large portions of the check file looking for alternative prefixes. In the worst case this would scan most of the file looking for a rare prefix between every single occurance of a common prefix. Even if we bounded the scan, this would do bad things if the order of the prefixes was "unlucky" and the distant prefix was scanned for first.
None of this is necessary. It is straightforward to build a state machine that recognizes the first, longest of the set of alternative prefixes. That is in fact exactly whan a regular expression does.
This patch builds a regular expression once for the set of prefixes and then uses it to search incrementally for the next prefix. This requires some threading of state but actually makes the code dramatically simpler. I've also added a big comment describing the algorithm as it was not at all obvious to me when I started.
With this patch, several previously pathological test cases in test/CodeGen/X86 are 5x and more faster. Overall, running all tests under test/CodeGen/X86 uses 10% less CPU after this, and because all the slowest tests were hitting this, finishes in 40% less wall time on my system (going from just over 5.38s to just over 3.23s) on a release build! This patch substantially improves the time of all 7 X86 tests that were in the top 20 reported by --time-tests, 5 of them are completely off the list and the remaining 2 are much lower. (Sadly, the new tests on the list include 2 new X86 ones that are slow for unrelated reasons, so the count stays at 4 of the top 20.)
It isn't clear how much this helps debug builds in aggregate in part because of the noise, but it again makes mane of the slowest x86 tests significantly faster (10% or more improvement).
llvm-svn: 289382
show more ...
|
| #
b03c166a |
| 11-Dec-2016 |
Chandler Carruth <[email protected]> |
[FileCheck] Remove a parameter that was simply always set to a commandline flag and test the flag directly. NFC.
If we ever need this generality it can be added back.
llvm-svn: 289381
|
| #
4dabac20 |
| 11-Dec-2016 |
Chandler Carruth <[email protected]> |
[FileCheck] Clean up doxygen comments throughout. NFC.
llvm-svn: 289380
|
| #
e8f2fb20 |
| 11-Dec-2016 |
Chandler Carruth <[email protected]> |
[FileCheck] Run clang-format over this code. NFC.
This fixes one formatting goof I left in my previous commit and *many* other inconsistencies.
I'm planning to make substantial changes here and so
[FileCheck] Run clang-format over this code. NFC.
This fixes one formatting goof I left in my previous commit and *many* other inconsistencies.
I'm planning to make substantial changes here and so wanted to get to a clean baseline.
llvm-svn: 289379
show more ...
|
| #
20247900 |
| 11-Dec-2016 |
Chandler Carruth <[email protected]> |
Refactor FileCheck some to reduce memory allocation and copying. Also make some readability improvements.
Both the check file and input file have to be fully buffered to normalize their whitespace.
Refactor FileCheck some to reduce memory allocation and copying. Also make some readability improvements.
Both the check file and input file have to be fully buffered to normalize their whitespace. But previously this would be done in a stack SmallString and then copied into a heap allocated MemoryBuffer. That seems pretty wasteful, especially for something like FileCheck where there are only ever two such entities.
This just rearranges the code so that we can keep the canonicalized buffers on the stack of the main function, use reasonably large stack buffers to reduce allocation. A rough estimate seems to show that about 80% of LLVM's .ll and .s files will fit into a 4k buffer, so this should completely avoid heap allocation for the buffer in those cases. My system's malloc is fast enough that the allocations don't directly show up in timings. However, on some very slow test cases, this saves 1% - 2% by avoiding the copy into the heap allocated buffer.
This also splits out the code which checks the input into a helper much like the code to build the checks as that made the code much more readable to me. Nit picks and suggestions welcome here. It has really exposed a *bunch* of stuff that could be cleaned up though, so I'm probably going to go and spring clean all of this code as I have more changes coming to speed things up.
llvm-svn: 289378
show more ...
|
|
Revision tags: llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
| #
d1e020f7 |
| 26-Aug-2016 |
Saleem Abdulrasool <[email protected]> |
FileCheck: Minor cleanup of the class Pattern
1. Add the "explicit" specifier to the single-argument constructor of Pattern 2. Reorder the fields to remove excessive padding (8 bytes).
Patch by Ale
FileCheck: Minor cleanup of the class Pattern
1. Add the "explicit" specifier to the single-argument constructor of Pattern 2. Reorder the fields to remove excessive padding (8 bytes).
Patch by Alexander Shaposhnikov!
llvm-svn: 279832
show more ...
|
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1 |
|
| #
fd557cb0 |
| 14-Jun-2016 |
Daniel Sanders <[email protected]> |
[FileCheck] Add --check-prefixes as a shorthand for multiple --check-prefix options.
Summary: This new alias takes a comma separated list of prefixes which allows '--check-prefix=A --check-prefix=B
[FileCheck] Add --check-prefixes as a shorthand for multiple --check-prefix options.
Summary: This new alias takes a comma separated list of prefixes which allows '--check-prefix=A --check-prefix=B --check-prefix=C' to be written as '--check-prefixes=A,B,C'.
Reviewers: probinson
Subscribers: probinson, llvm-commits, dsanders
Differential Revision: http://reviews.llvm.org/D21293
llvm-svn: 272670
show more ...
|
| #
2ad6d48b |
| 09-Jun-2016 |
Richard Smith <[email protected]> |
Search for llvm-symbolizer binary in the same directory as argv[0], before looking for it along $PATH. This allows installs of LLVM tools outside of $PATH to find the symbolizer and produce pretty ba
Search for llvm-symbolizer binary in the same directory as argv[0], before looking for it along $PATH. This allows installs of LLVM tools outside of $PATH to find the symbolizer and produce pretty backtraces if they crash.
llvm-svn: 272232
show more ...
|
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
| #
2bd4f8b6 |
| 27-May-2016 |
Xinliang David Li <[email protected]> |
FileCheck: dump command line context with empty input
Differential Revision: http://reviews.llvm.org/D20716
llvm-svn: 271047
|
|
Revision tags: llvmorg-3.8.0 |
|
| #
a908e7bd |
| 29-Feb-2016 |
Paul Robinson <[email protected]> |
Reapply r262092: [FileCheck] Abort if -NOT is combined with another suffix. Combinations of suffixes that look useful are actually ignored; complaining about them will avoid mistakes.
Differential R
Reapply r262092: [FileCheck] Abort if -NOT is combined with another suffix. Combinations of suffixes that look useful are actually ignored; complaining about them will avoid mistakes.
Differential Revision: http://reviews.llvm.org/D17587
llvm-svn: 262263
show more ...
|
| #
4b618dcc |
| 26-Feb-2016 |
Paul Robinson <[email protected]> |
Revert r262092, caught LLD tests
llvm-svn: 262093
|
| #
abcfa395 |
| 26-Feb-2016 |
Paul Robinson <[email protected]> |
[FileCheck] Abort if -NOT is combined with another suffix. Combinations of suffixes that look useful actually are ignored; complaining about them will avoid mistakes.
Differential Revision: http://r
[FileCheck] Abort if -NOT is combined with another suffix. Combinations of suffixes that look useful actually are ignored; complaining about them will avoid mistakes.
Differential Revision: http://reviews.llvm.org/D17587
llvm-svn: 262092
show more ...
|
|
Revision tags: llvmorg-3.8.0-rc3 |
|
| #
85913cca |
| 11-Feb-2016 |
James Y Knight <[email protected]> |
Add -match-full-lines argument to FileCheck.
This is useful for some tests where more-exact matching is useful, such as clang's Preprocessor tests.
llvm-svn: 260540
|
|
Revision tags: llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1, llvmorg-3.7.1-rc2 |
|
| #
ff43d69d |
| 17-Nov-2015 |
David Blaikie <[email protected]> |
StringRef-ify some Option APIs
Patch by Eugene Kosov!
Differential Revision: http://reviews.llvm.org/D14711
llvm-svn: 253360
|
|
Revision tags: llvmorg-3.7.1-rc1 |
|
| #
3c76c523 |
| 20-Sep-2015 |
Craig Topper <[email protected]> |
Cleanup places that passed SMLoc by const reference to pass it by value instead. NFC
llvm-svn: 248135
|
| #
8f870499 |
| 10-Sep-2015 |
Benjamin Kramer <[email protected]> |
[FileCheck] Use range-based for loops. NFC.
llvm-svn: 247272
|
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
| #
f5e2fc47 |
| 29-May-2015 |
Benjamin Kramer <[email protected]> |
Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types
If the type isn't trivially moveable emplace can skip a potentially expensive move. It also saves a couple of charact
Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types
If the type isn't trivially moveable emplace can skip a potentially expensive move. It also saves a couple of characters.
Call sites were found with the ASTMatcher + some semi-automated cleanup.
memberCallExpr( argumentCountIs(1), callee(methodDecl(hasName("push_back"))), on(hasType(recordDecl(has(namedDecl(hasName("emplace_back")))))), hasArgument(0, bindTemporaryExpr( hasType(recordDecl(hasNonTrivialDestructor())), has(constructExpr()))), unless(isInTemplateInstantiation()))
No functional change intended.
llvm-svn: 238602
show more ...
|