summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* [SVE][CodeGen] Scalable vector MVT size queriesGraham Hunter2019-11-181-12/+23
| | | | | | | | | | | | | | | | | | | * Implements scalable size queries for MVTs, split out from D53137. * Contains a fix for FindMemType to avoid using scalable vector type to contain non-scalable types. * Explicit casts for several places where implicit integer sign changes or promotion from 32 to 64 bits caused problems. * CodeGenDAGPatterns will treat scalable and non-scalable vector types as different. Reviewers: greened, cameron.mcinally, sdesmalen, rovka Reviewed By: rovka Differential Revision: https://reviews.llvm.org/D66871
* gn build: Merge 631be5c0d41LLVM GN Syncbot2019-11-151-1/+0
|
* gn build: Merge d6de5f12d48LLVM GN Syncbot2019-11-151-0/+1
|
* gn build: Merge e6584b2b7b2LLVM GN Syncbot2019-11-151-0/+1
|
* [update_cc_test_checks.py] Use -ast-dump=json to get mangled nameAlex Richardson2019-11-151-51/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Using c-index-test is fragile since it does not parse all the clang arguments that are used in the RUN: line. This can result in incorrect mangled names that do not match any of the generated IR. For example macOS triples include a leading underscore (which was handled with a hack in the current script). For the CHERI target we have added new qualifiers which affect C++ name mangling, but will be included added by update_cc_test_checks since it parses the source file with the host triple because it ignores the -triple= argument passed to clang -cc1. Using the new feature of including the mangled name in the JSON AST dump (see D69564), we can parse the output of the RUN: command with "-fsyntax-only -ast-dump=json" appended. This should make the script less fragile and also forks one process less. Reviewers: MaskRay, xbolva00 Reviewed By: MaskRay Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69565
* gn build: Merge 16f38dda292LLVM GN Syncbot2019-11-151-0/+1
|
* Fix up lit's tests to run in a multi-config build environment.Paul Robinson2019-11-141-0/+3
| | | | Differential Revision: https://reviews.llvm.org/D70239
* Update lit infra to detect "MemoryWithOrigins' sanitizer build.Sumanth Gundapaneni2019-11-141-1/+1
| | | | Differential Revision: https://reviews.llvm.org/D68399
* [lit] Better/earlier errors for empty runsJulian Lettner2019-11-124-9/+41
| | | | | | | | | | | | | | | | | | | | | | | | | Fail early, when we discover no tests at all, or filter out all of them. There is also `--allow-empty-runs` to disable test to allow workflows like `LIT_FILTER=abc ninja check-all`. Apparently `check-all` invokes lit multiple times if certain projects are enabled, which would produce unwanted "empty runs". Specify via `LIT_OPTS=--allow-empty-runs`. There are 3 causes for empty runs: 1) No tests discovered. This is always an error. Fix test suite config or command line. 2) All tests filtered out. This is an error by default, but can be suppressed via `--alow-empty-runs`. Should prevent accidentally passing empty runs, but allow the workflow above. 3) The number of shards is greater than the number of tests. Currently, this is never an error. Personally, I think we should consider making this an error by default; if this happens, you are doing something wrong. I added a warning but did not change the behavior, since this warrants more discussion. Reviewed By: atrick, jdenny Differential Revision: https://reviews.llvm.org/D70105
* gn build: Merge e9a06e06064LLVM GN Syncbot2019-11-121-0/+1
|
* change LLVM_VERSION_SUFFIX default from svn to gitNick Desaulniers2019-11-113-5/+5
| | | | | | | | | | | | | | | | | Summary: Sayonara SVN! Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Reviewers: tstellar, jyknight, lebedev.ri, smeenai, mgorny, hans, mclow.lists Reviewed By: mgorny, hans Subscribers: christof, libcxx-commits, llvm-commits, srhines Tags: #libc, #llvm Differential Revision: https://reviews.llvm.org/D70019
* gn build: Merge 8d288a0668aLLVM GN Syncbot2019-11-111-0/+1
|
* CodeGenRegBank - make functions const to fix cppcheck warnings.Simon Pilgrim2019-11-101-3/+5
|
* Reduce scope of variable to silence cppcheck warning. NFCSimon Pilgrim2019-11-091-2/+1
|
* Fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-091-2/+2
|
* gn build: Merge f0af11d86f8LLVM GN Syncbot2019-11-081-0/+1
|
* find_interesting_reviews.py: avoid crash on non-ascii data.Kristof Beyls2019-11-081-1/+1
|
* gn build: Merge 0dc0572b48eLLVM GN Syncbot2019-11-081-0/+1
|
* gn build: Merge 25ee861372fLLVM GN Syncbot2019-11-072-1/+1
|
* AsmWriterOperand - fix uninitialized variable warning. NFCI.Simon Pilgrim2019-11-071-1/+1
|
* Revert "gn build: (manually) merge b5913e6d2f"Nico Weber2019-11-061-10/+1
| | | | | This reverts commit c52efdc52cef2597a1d21595a9685e2f798025b8, because b5913e6d2f got reverted.
* TableGen: Remove assert that pattern results match input numberMatt Arsenault2019-11-061-1/+0
| | | | | | | AMDGPU has some atomic instructions that do not return the previous result, and can only be selected if there are no uses. The source pattern will only match if the use is empty, so it should be safe to discard the result.
* gn build: (manually) merge b5913e6d2fNico Weber2019-11-061-1/+10
|
* [lit] Protect full test suite from FILECHECK_OPTSJoel E. Denny2019-11-062-3/+10
| | | | | | | | | | | | | | | | | | lit's test suite calls lit multiple times for various sample test suites. `FILECHECK_OPTS` is safe for FileCheck calls in lit's test suite. It's not safe for FileCheck calls in the sample test suites, whose output affects the results of lit's test suite. Without this patch, only one such sample test suite is protected from `FILECHECK_OPTS`, and currently `shtest-shell.py` breaks with `FILECHECK_OPTS=-vv`. Moreover, it's hard to predict the future, especially false passes. Thus, this patch protects all existing and future sample test suites from `FILECHECK_OPTS` (and the deprecated `FILECHECK_DUMP_INPUT_ON_FAILURE`). Reviewed By: probinson Differential Revision: https://reviews.llvm.org/D65156
* CodeGenInstruction - fix uninitialized variable warnings. NFCI.Simon Pilgrim2019-11-061-5/+6
|
* X86FoldTablesEmitter - fix static analyzer potential invalid iterator ↵Simon Pilgrim2019-11-061-3/+3
| | | | warning. NFCI.
* gn build: Merge 24130d661edLLVM GN Syncbot2019-11-061-0/+1
|
* Revert "[analyzer] Add test directory for scan-build."Volodymyr Sapsai2019-11-051-1/+0
| | | | | | | | This reverts commit 0aba69eb1a01c44185009f50cc633e3c648e9950 with subsequent changes to test files. It caused test failures on GreenDragon, e.g., http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-incremental/
* Revert "[lit] Better/earlier errors when no tests are executed"Julian Lettner2019-11-054-29/+9
| | | | This reverts commit d8f2bff75126c6dde694ad245f9807fa12ad5630.
* [lit] Fix `not` calling internal commandsJoel E. Denny2019-11-0521-33/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this patch, when using lit's internal shell, if `not` on a lit RUN line calls `env`, `diff`, or any of the other in-process shell builtins that lit implements, lit accidentally searches for the latter as an external executable. What's worse is that works fine when a developer is testing on a platform where those executables are available and behave as expected, but it then breaks on other platforms. `not` seems useful for some builtins, such as `diff`, so this patch supports such uses. `not --crash` does not seem useful for builtins, so this patch diagnoses such uses. In all cases, this patch ensures shell builtins are found behind any sequence of `env` and `not` commands. `not` calling `env` calling an external command appears useful when the `env` and external command are part of a lit substitution, as in D65156. This patch supports that by looking through any sequence of `env` and `not` commands, building the environment from the `env`s, and storing the `not`s. The `not`s are then added back to the command line without the `env`s to execute externally. This avoids the need to replicate the `not` implementation, in particular the `--crash` option, in lit. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D66531
* [DFAPacketizer] Allow up to 64 functional unitsjmolloy2019-11-051-335/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: To drive the automaton we used a uint64_t as an action type. This contained the transition's resource requirements as a conjunction: (a OR b) AND (b OR c) We encoded this conjunction as a sequence of four 16-bit bitmasks. This limited the number of addressable functional units to 16, which is quite low and has bitten many people in the past. Instead, the DFAEmitter now generates a lookup table from InstrItinerary class (index of the ItinData inside the ProcItineraries) to an internal action index which is essentially a dense embedding of the conjunctive form. Because we never materialize the conjunctive form, we no longer have the 16 FU restriction. In this patch we limit to 64 functional units due to using a uint64_t bitmask in the DFAEmitter. Now that we've decoupled these representations we can increase this in future. Reviewers: ThomasRaoux, kparzysz, majnemer Reviewed By: ThomasRaoux Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69110
* [analyzer] Add test directory for scan-build.Devin Coughlin2019-11-041-0/+1
| | | | | | | | | | The static analyzer's scan-build script is critical infrastructure but is not well tested. To start to address this, add a new test directory under tests/Analysis for scan-build lit tests and seed it with several tests. The goal is that future scan-build changes will be accompanied by corresponding tests. Differential Revision: https://reviews.llvm.org/D69781
* [lit] Move measurement of testing time out of Run.executeJulian Lettner2019-11-042-10/+8
|
* [lit] Better/earlier errors when no tests are executedJulian Lettner2019-11-044-9/+29
| | | | Fail early, when we discover no tests at all, or filter out all of them.
* gn build: Merge 40d0d4e2335LLVM GN Syncbot2019-11-041-0/+1
|
* gn build: (manually) merge 51b4b17ebNico Weber2019-11-044-11/+14
| | | | | Also reverts r353980 since that duplicated the GenAsmMatcher target for AArch64. Instead use visiblity.
* gn build: run "gn format"Nico Weber2019-11-042-2/+2
|
* gn build: add deps, see discussion on D69130Nico Weber2019-11-042-0/+2
|
* gn build: (manually) merge 3a399c09 / add76dd3cNico Weber2019-11-031-2/+0
|
* Stop static analyzer warnings about using bitwise operators on booleans. NFCI.Simon Pilgrim2019-11-021-6/+6
| | | | Call each of the rebase_if() calls separately.
* MatchTableRecord::emit - fix boolean operator precedence warnings from PVS ↵Simon Pilgrim2019-11-021-2/+2
| | | | | | Studio. NFCI. Make it clear that (Flags & MTRF_????) should resolve to a boolean.
* Revert "[Codegen] Both sides of '&&' are same; fixed"Dávid Bolvanský2019-11-021-1/+1
| | | | This reverts commit edb42dccfafb2c0d25d19175c49d016a7c2e0b13. Buildbot timeouts.
* [Codegen] Both sides of '&&' are same; fixedDávid Bolvanský2019-11-021-1/+1
| | | | | | | | | | | | | | | | | Summary: Found by PVS Studio Not familiar with this code; no testcase. Reviewers: craig.topper, RKSimon Reviewed By: RKSimon Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69741
* [lit] Fix internal env calling envJoel E. Denny2019-11-014-8/+64
| | | | | | | | | | | | | | | | Without this patch, when using lit's internal shell, if `env` on a lit RUN line calls `env`, lit accidentally searches for the latter as an external executable. What's worse is that works fine when a developer is testing on a platform where `env` is available and behaves as expected, but it then breaks on other platforms. `env` calling `env` can make sense if one such `env` is within a lit substitution, as in D65156 and D65121. This patch ensures that lit executes both as internal commands. Reviewed By: probinson, mgorny, rnk Differential Revision: https://reviews.llvm.org/D65697
* [Utils] Hide the default behavior change of D68819 under a flagJohannes Doerfert2019-11-013-5/+5
| | | | | | With D69701, the options used when running the script on a file will be recorded and reused on a rerun. This allows us to hide new features behind flags, starting with the "define" that was introduced in D68819.
* gn build: Merge d36a0333102LLVM GN Syncbot2019-11-011-0/+1
|
* [GlobalISel] Match table opt: fix a bug in matching num of operandsRoman Tereshin2019-11-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If there is a dag node with a variable number of operands that has at least N operands (for some non-negative N), and multiple patterns with that node with different number of operands, we would drop the number of operands check in patterns with N operands, presumably because it's guaranteed in such case that none of the per-operand checks will access the operand list out-of-bounds. Except semantically the check is about having exactly N operands, not at least N operands, and a backend might rely on it to disambiguate different patterns. In this patch we change the condition on emitting the number of operands check from "the instruction is not guaranteed to have at least as many operands as are checked by the pattern being matched" to "the instruction is not guaranteed to have a specific number of operands". We're relying (still) on the rest of the CodeGenPatterns mechanics to validate that the pattern itself doesn't try to access more operands than there is in the instruction in cases when the instruction does have fixed number of operands, and on the machine verifier to validate at runtime that particular MIs like that satisfy the constraint as well. Reviewers: dsanders, qcolombet Reviewed By: qcolombet Subscribers: arsenm, rovka, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69653
* [utils] Reflow asm check generation to tolerate blank linesSimon Atanasyan2019-11-012-2/+6
| | | | | | | | | | | | | | This change introduces two fixes. The second fix allows to generate a test to check the first fix. - Output `CHECK-EMPTY` prefix for an empty line in ASM output. Before that fix `update_llc_test_checks.py` incorrectly emits `CHECK-NEXT: <space>` prefix. - Fix the `ASM_FUNCTION_MIPS_RE` regex to stop on a real function epilogue not on an inline assembler prologue and include inline assembler code into a test. Differential Revision: https://reviews.llvm.org/D47192
* Fix update_mir_test_checks after 3598b8100Matt Arsenault2019-10-311-1/+1
|
* gn build: Merge e72e59e9028LLVM GN Syncbot2019-10-312-0/+2
|
OpenPOWER on IntegriCloud