summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* gn build: Merge d0bd3fc88beLLVM GN Syncbot2019-10-251-1/+0
|
* gn build: Merge bb6a27fc257LLVM GN Syncbot2019-10-251-0/+1
|
* gn build: (manually) merge 08074cc9Nico Weber2019-10-256-2/+36
|
* Use portable flag with nm in extract_symbols.pyDavid Tenty2019-10-231-2/+2
| | | | | | | | | | | | | | | | | | | | | Summary: nm is one of the tools that extract_symbols.py can use to extract symbols from llvm libraries as part of the build process. This patch updates the invocation of nm to use the -P POSIX option for "portable output" so we get a consistently parsable output format on all platforms. A link to the relevant nm format: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/nm.html Reviewers: hubert.reinterpretcast, stevewan, sfertile Reviewed By: stevewan Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69004
* Relax assertions when there's really no entries. [NFC]Michael Liao2019-10-221-2/+2
|
* gn build: make sync build work with git revs now that svn is goneNico Weber2019-10-221-15/+9
|
* Update git-llvm script to push to GitHubTom Stellard2019-10-221-433/+77
| | | | | | | | | | | | | | | | | | Summary: Note: This patch should not be pushed until SVN has become read-only. It should be the first patch committed directly to GitHub. This patch updates git-llvm to check for merge commits and then push changes to GitHub if none are found. All logic related to SVN has been removed. Reviewers: jyknight Subscribers: lenary, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67772
* gn build: Merge r375483GN Sync Bot2019-10-221-0/+1
| | | | llvm-svn: 375484
* [lit] Move increase_process_limit to ParallelRunJulian Lettner2019-10-222-25/+24
| | | | | | | Increasing the process limit only makes sense when we use multiple processes. llvm-svn: 375474
* [lit] Simplify test scheduling via multiprocessing.PoolJulian Lettner2019-10-211-24/+17
| | | | llvm-svn: 375458
* [lit] Remove redundancy from names and commentsJulian Lettner2019-10-213-31/+26
| | | | llvm-svn: 375456
* gn build: Merge r375390GN Sync Bot2019-10-211-0/+1
| | | | llvm-svn: 375393
* [LLDB] [Windows] Initial support for ARM register contextsMartin Storsjo2019-10-211-0/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D69226 llvm-svn: 375392
* gn build: Merge r375375GN Sync Bot2019-10-203-3/+0
| | | | llvm-svn: 375376
* gn build: Build compiler-rt code with -fvisibility=hidden.Peter Collingbourne2019-10-181-0/+1
| | | | | | | | This matches the CMake build. Differential Revision: https://reviews.llvm.org/D69202 llvm-svn: 375299
* gn build: Merge r375288GN Sync Bot2019-10-181-0/+1
| | | | llvm-svn: 375289
* [lit] Reduce value of synthesized timeoutsJulian Lettner2019-10-181-2/+3
| | | | | | | | | | | Large timeout values (one year, positive infinity) trip up Python on Windows with "OverflowError: timeout value is too large". One week seems to work and is still large enough in practice. Thanks to Simon Pilgrim for helping me test this. https://reviews.llvm.org/rL375171 llvm-svn: 375264
* [lit] Remove unnecessary tracking of test_indexJulian Lettner2019-10-182-17/+11
| | | | llvm-svn: 375263
* [lit] Only send back test result from worker processJulian Lettner2019-10-183-16/+15
| | | | | | | Avoid sending back the whole run.Test object (which needs to be pickled) from the worker process when we are only interested in the test result. llvm-svn: 375262
* gn build: Merge r375254GN Sync Bot2019-10-183-0/+3
| | | | llvm-svn: 375256
* [DFAPacketizer] Fix large compile-time regression for VLIW targetsJames Molloy2019-10-181-2/+2
| | | | | | | | | | D68992 / rL375086 refactored the packetizer and removed a bunch of logic. Unfortunately it creates an Automaton object whenever a DFAPacketizer is required. These objects have no longevity, and in particular on a debug build the population of the Automaton's transition map from the underlying table is very slow (because it is called ~10 times per MachineFunction, in the testcase I'm looking at). This patch changes Automaton to wrap its underlying constant data in std::shared_ptr, which allows trivial copy construction. The DFAPacketizer creation function now creates a static archetypical Automaton and copies that whenever a new DFAPacketizer is required. This takes a testcase down from ~20s to ~0.5s in debug mode. llvm-svn: 375240
* [lit] Move resolving of XFAIL result codes out of Test.setResultJulian Lettner2019-10-182-12/+21
| | | | | | | This will allow us to serialize just the result object instead of the whole lit.Test object back from the worker to the main lit process. llvm-svn: 375195
* [lit] worker.py: Improve code for executing a single testJulian Lettner2019-10-181-12/+21
| | | | llvm-svn: 375194
* [lit] Move computation of deadline up into base classJulian Lettner2019-10-171-18/+18
| | | | llvm-svn: 375171
* Reland "[lit] Synthesize artificial deadline"Julian Lettner2019-10-171-13/+7
| | | | | | | | | | | | | | We always want to use a deadline when calling `result.await`. Let's synthesize an artificial deadline (now plus one year) to simplify code and do less busy waiting. Thanks to Reid Kleckner for diagnosing that a deadline for of "positive infinity" does not work with Python 3 anymore. See commit: 4ff1e34b606d9a9fcfd8b8b5449a558315af94e5 I tested this patch with Python 2 and Python 3. llvm-svn: 375165
* Revert [lit] Synthesize artificial deadlineReid Kleckner2019-10-171-19/+28
| | | | | | | | | | | | Python on Windows raises this OverflowError: gotit = waiter.acquire(True, timeout) OverflowError: timestamp too large to convert to C _PyTime_t So it seems this API behave the same way on every OS. Also reverts the dependent commit a660dc590a5e8dafa1ba6ed56447ede151d17bd9. llvm-svn: 375143
* [lit] Move computation of deadline up into base classJulian Lettner2019-10-171-16/+15
| | | | llvm-svn: 375130
* [lit] Synthesize artificial deadlineJulian Lettner2019-10-171-13/+5
| | | | | | | | We always want to use a deadline when calling `result.await`. Let's synthesize an artificial deadline (positive infinity) to simplify code and do less busy waiting. llvm-svn: 375129
* [lit] Create derived classes for serial/parallel test runsJulian Lettner2019-10-172-43/+51
| | | | | | | The hope is that with a little OO we can nicely factor out the differences. llvm-svn: 375128
* Revert r375114: "[lit] Make internal diff work in pipelines"Joel E. Denny2019-10-179-304/+271
| | | | | | This series of patches still breaks a Windows bot. llvm-svn: 375121
* Revert r375116: "[lit] Extend internal diff to support `-` argument"Joel E. Denny2019-10-177-146/+5
| | | | | | This series of patches still breaks a Windows bot. llvm-svn: 375120
* [lit] Extend internal diff to support `-` argumentJoel E. Denny2019-10-177-5/+146
| | | | | | | | | | | | | | | | | | | | | | When using lit's internal shell, RUN lines like the following accidentally execute an external `diff` instead of lit's internal `diff`: ``` # RUN: program | diff file - ``` Such cases exist now, in `clang/test/Analysis` for example. We are preparing patches to ensure lit's internal `diff` is called in such cases, which will then fail because lit's internal `diff` doesn't recognize `-` as a command-line option. This patch adds support for `-` to mean stdin. Reviewed By: probinson, rnk Differential Revision: https://reviews.llvm.org/D67643 llvm-svn: 375116
* [lit] Make internal diff work in pipelinesJoel E. Denny2019-10-179-271/+304
| | | | | | | | | | | | | | | | | | | | | | | | | | | When using lit's internal shell, RUN lines like the following accidentally execute an external `diff` instead of lit's internal `diff`: ``` # RUN: program | diff file - # RUN: not diff file1 file2 | FileCheck %s ``` Such cases exist now, in `clang/test/Analysis` for example. We are preparing patches to ensure lit's internal `diff` is called in such cases, which will then fail because lit's internal `diff` cannot currently be used in pipelines and doesn't recognize `-` as a command-line option. To enable pipelines, this patch moves lit's `diff` implementation into an out-of-process script, similar to lit's `cat` implementation. A follow-up patch will implement `-` to mean stdin. Reviewed By: probinson, stella.stamenova Differential Revision: https://reviews.llvm.org/D66574 llvm-svn: 375114
* [DFAPacketizer] Use DFAEmitter. NFC.James Molloy2019-10-171-574/+72
| | | | | | | | | | | | | | | Summary: This is a NFC change that removes the NFA->DFA construction and emission logic from DFAPacketizerEmitter and instead uses the generic DFAEmitter logic. This allows DFAPacketizer to use the Automaton class from Support and remove a bunch of logic there too. After this patch, DFAPacketizer is mostly logic for grepping Itineraries and collecting functional units, with no state machine logic. This will allow us to modernize by removing the 16-functional-unit limit and supporting non-itinerary functional units. This is all for followup patches. Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68992 llvm-svn: 375086
* Correct placement of #ifndef NDEBUG in r375067Daniel Sanders2019-10-171-12/+7
| | | | llvm-svn: 375071
* [gicombiner] Add the run-time rule disable optionDaniel Sanders2019-10-171-3/+97
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Each generated helper can be configured to generate an option that disables rules in that helper. This can be used to bisect rulesets. The disable bits are stored in a SparseVector as this is very cheap for the common case where nothing is disabled. It gets more expensive the more rules are disabled but you're generally doing that for debug purposes where performance is less of a concern. Depends on D68426 Reviewers: volkan, bogner Reviewed By: volkan Subscribers: hiraditya, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68438 llvm-svn: 375067
* [lit] Improve lit.Run classJulian Lettner2019-10-172-31/+37
| | | | | | | | * Push timing of overall test time into run module * Make lit.Run a proper class * Add a few TODO comments llvm-svn: 375065
* [gicombiner] Hoist pure C++ combine into the tablegen definitionDaniel Sanders2019-10-161-6/+264
| | | | | | | | | | | | | | | | | | | | | | Summary: This is just moving the existing C++ code around and will be NFC w.r.t AArch64. Renamed 'CombineBr' to something more descriptive ('ElideByByInvertingCond') at the same time. The remaining combines in AArch64PreLegalizeCombiner require features that aren't implemented at this point and will be hoisted as they are added. Depends on D68424 Reviewers: bogner, volkan Subscribers: kristof.beyls, hiraditya, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68426 llvm-svn: 375057
* [lit] Remove unnecessary usage of lit.RunJulian Lettner2019-10-162-5/+3
| | | | llvm-svn: 375056
* [lit] Do not create semaphores when we do not need themJulian Lettner2019-10-161-7/+6
| | | | | | | Parallelism groups and semaphores are only required for parallel execution. llvm-svn: 375055
* [lit] Factor out separate methods for parallel and serial executionJulian Lettner2019-10-161-43/+47
| | | | llvm-svn: 375054
* [lit] Print warning if we fail to delete temp directoryJulian Lettner2019-10-161-3/+3
| | | | llvm-svn: 375049
* [lit] Skip creation of tmp dir if we don't actually run any testsJulian Lettner2019-10-161-32/+35
| | | | llvm-svn: 375048
* [lit] Remove return value from print_summary functionJulian Lettner2019-10-161-9/+5
| | | | llvm-svn: 375047
* [lit] Small refactoring and cleanups in main.pyJulian Lettner2019-10-161-69/+55
| | | | | | | | | | | | | * Remove outdated precautions for Python versions < 2.7 * Remove dead code related to `maxIndividualTestTime` option * Move printing of test and result summary out of main into its own function Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D68847 llvm-svn: 375046
* [lit] Fix internal diff's --strip-trailing-cr and use itJoel E. Denny2019-10-166-3/+73
| | | | | | | | | | | | | | | | | | | | | | | | | Using GNU diff, `--strip-trailing-cr` removes a `\r` appearing before a `\n` at the end of a line. Without this patch, lit's internal diff only removes `\r` if it appears as the last character. That seems useless. This patch fixes that. This patch also adds `--strip-trailing-cr` to some tests that fail on Windows bots when D68664 is applied. Based on what I see in the bot logs, I think the following is happening. In each test there, lit diff is comparing a file with `\r\n` line endings to a file with `\n` line endings. Without D68664, lit diff reads those files in text mode, which in Windows causes `\r\n` to be replaced with `\n`. However, with D68664, lit diff reads the files in binary mode instead and thus reports that every line is different, just as GNU diff does (at least under Ubuntu). Adding `--strip-trailing-cr` to those tests restores the previous behavior while permitting the behavior of lit diff to be more like GNU diff. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D68839 llvm-svn: 375020
* [lit] Clean up internal diff's encoding handlingJoel E. Denny2019-10-167-35/+88
| | | | | | | | | | | | | | | | | | | | | As suggested by rnk at D67643#1673043, instead of reading files multiple times until an appropriate encoding is found, read them once as binary, and then try to decode what was read. For Python >= 3.5, don't fail when attempting to decode the `diff_bytes` output in order to print it. Avoid failures for Python 2.7 used on some Windows bots by transforming diff output with `lit.util.to_string` before writing it to stdout. Finally, add some tests for encoding handling. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D68664 llvm-svn: 375018
* gn build: Merge r374982GN Sync Bot2019-10-161-0/+1
| | | | llvm-svn: 374983
* [lit] Add back LitTestCaseJulian Lettner2019-10-155-0/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This essentially reverts a commit [1] that removed the adaptor for Python unittests. The code has been slightly refactored to make it more additive: all code is contained in LitTestCase.py. Usage sites will require a small adaption: ``` [old] import lit.discovery ... test_suite = lit.discovery.load_test_suite(...) [new] import lit.LitTestCase ... test_suite = lit.LitTestCase.load_test_suite(...) ``` This was put back on request by Daniel Dunbar, since I wrongly assumed that the functionality is unused. At least llbuild still uses this [2]. [1] 70ca752ccf6a8f362aea25ccd3ee2bbceca93b20 [2] https://github.com/apple/swift-llbuild/blob/master/utils/Xcode/LitXCTestAdaptor/LitTests.py#L16 Reviewed By: ddunbar Differential Revision: https://reviews.llvm.org/D69002 llvm-svn: 374947
* gn build: Merge r374903GN Sync Bot2019-10-151-0/+1
| | | | llvm-svn: 374904
OpenPOWER on IntegriCloud