- Sep 11, 2021
-
-
Johannes Doerfert authored
This reverts commit 7dbba337. There seems to be a problem with the tests, investigating now: https://lab.llvm.org/buildbot/#/builders/61/builds/14574
-
Johannes Doerfert authored
This should have happened a long time ago, now that openmp.llvm.org redirects to openmp.llvm.org/docs we completely switched over to the sphinx documentation page instead. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D108588
-
Johannes Doerfert authored
Since these assumptions are coming from OpenMP it makes sense to mark them as such in the generic IR encoding. Standardized assumptions will be named omp_ASSUMPTION_NAME and extensions will be named ompx_ASSUMPTION_NAME which is the OpenMP 5.2 syntax for "extensions" of any kind. This also matches what the OpenMP-Opt pass expects. Summarized, #pragma omp [...] assume[s] no_parallelism now generates the same IR assumption annotation as __attribute__((assume("omp_no_parallelism"))) Reviewed By: jhuber6 Differential Revision: https://reviews.llvm.org/D105937 -
Johannes Doerfert authored
Not all address spaces support initializers for globals and we can therefore not set them without checking if they are allowed. This patch adds a hook into TTI to check if an AS allows non-undef initializers. We disable it for all but address space 0 by default, NVPTX and AMDGPU targets allow all but address space 3. Reviewed By: tra Differential Revision: https://reviews.llvm.org/D109337
-
Johannes Doerfert authored
When we guard side-effects as part of SPMDzation we do it for consecutive instructions that need guarding. This patch will try to reorder guarded side-effects in a block to decrease the number of guarded regions we need. It does not use any smarts, e.g., alias analysis, to move side-effects over non-interfering reads. Instead, it only moves side-effects downwards to the next guarded side-effect if there was nothing in between that could have possibly be affected. Reviewed By: ggeorgakoudis Differential Revision: https://reviews.llvm.org/D109070
-
David Green authored
As per D109359, this removes or makes use of some of the existing unused NEON and base ARM tblgn arguments.
-
Nikita Popov authored
Always use the byval/inalloca/preallocated type (which is required nowadays), don't fall back on the pointer element type. This requires adding Function::getParamPreallocatedType() to mirror the CallBase API, so that the templated code can work with both.
-
Nikita Popov authored
-
Craig Topper authored
LICM may have pulled out a splat, but with .vx instructions we can fold it into an operation. This patch enables CGP to reverse the LICM transform and move the splat back into the loop. I've started with the commutable integer operations and shifts, but we can extend this with more operations in future patches. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D109394
-
Craig Topper authored
This can avoid a vsetvl after a tail undisturbed operation. Differential Revision: https://reviews.llvm.org/D109549
-
Michał Górny authored
Hopefully this will resolve the remaining flakiness.
-
- Sep 10, 2021
-
-
Sam Clegg authored
Remove some unnecessary logging from wasm-ld when running under `--verbose`. Unlike `-debug` this logging is available in release builds. This change makes it little more minimal/readable. Also, avoid compiling the `debugWrite` function in releaase builds where it does nothing. This should remove a lot debug strings from the binary, and avoid having to construct unused debug strings at runtime. Differential Revision: https://reviews.llvm.org/D109583
-
Michał Górny authored
Skip A/vRun/QEnvironment* tests on Windows as testing for output is known not to work there. Add a missing output check to the vRun test.
-
Michał Górny authored
-
Michał Górny authored
-
Michał Górny authored
-
David Green authored
As per D109359, this removes or makes use of some of the existing unused MVE tblgn arguments.
-
Sam Clegg authored
The re-use of this struct across iterations of the loop was causing fields (specifically Name) to be incorrectly shared between multiple sections. Differential Revision: https://reviews.llvm.org/D108984
-
Saiyedul Islam authored
Test using debug-only=CodeObjectComaptibility was failing in non-assert builds, so it has been moved to a different file which requires assert. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D109592
-
Nikita Popov authored
Currently, opaque pointers are supported in two forms: The -force-opaque-pointers mode, where all pointers are opaque and typed pointers do not exist. And as a simple ptr type that can coexist with typed pointers. This patch removes support for the mixed mode. You either get typed pointers, or you get opaque pointers, but not both. In the (current) default mode, using ptr is forbidden. In -opaque-pointers mode, all pointers are opaque. The motivation here is that the mixed mode introduces additional issues that don't exist in fully opaque mode. D105155 is an example of a design problem. Looking at D109259, it would probably need additional work to support mixed mode (e.g. to generate GEPs for typed base but opaque result). Mixed mode will also end up inserting many casts between i8* and ptr, which would require significant additional work to consistently avoid. I don't think the mixed mode is particularly valuable, as it doesn't align with our end goal. The only thing I've found it to be moderately useful for is adding some opaque pointer tests in between typed pointer tests, but I think we can live without that. Differential Revision: https://reviews.llvm.org/D109290
-
Filipp Zhinkin authored
These are the tests for D108408 with current baseline results.
-
David Green authored
This updates some mostly update_test_check test files and generates the check lines with the script, making them more maintainable.
-
Jan Svoboda authored
This patch tests code in D108976. This split is necessary to avoid temporary regression. Depends on D108974, Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D109158
-
Jan Svoboda authored
During dependency scanning, we generally want to suppress -Werror. Apply the same logic to the DiagnosticOptions instance used for command-line parsing. This fixes a test failure on the PS4 bot, where the system header directory could not be found, which was reported due to -Werror being on the command line and not being sanitized.
-
Sander de Smalen authored
This patch implements legalization of EXTRACT_SUBVECTOR for the case where the result needs promoting, and the input type requires widening. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D109509
-
Sander de Smalen authored
This patch implements legalization of EXTRACT_SUBVECTOR for the case where the result needs promoting, and the input type is either legal or requires splitting. The idea is that the operation is broken down into simpler steps, by first extracting a smaller subvector until the input vector becomes legal or requires promotion. Reviewed By: CarolineConcatto Differential Revision: https://reviews.llvm.org/D109313
-
Pavel Labath authored
Remove comments looking like preprocessor directives (thankfully cmake does not have those yet), and sort the file.
-
Alex Zinenko authored
-
Michał Górny authored
GDB uses normalized errno values for vFile errors. Implement the translation between them and system errno values in the gdb-remote plugin. Differential Revision: https://reviews.llvm.org/D108148
-
Michał Górny authored
Fall back to QEnvironmentHexEncoded if QEnvironment is not supported. The latter packet is an LLDB extension, while the former is universally supported. Add tests for both QEnvironment and QEnvironmentHexEncoded packets, including both use due to characters that need escaping and fallback when QEnvironment is not supported. Differential Revision: https://reviews.llvm.org/D108018
-
Michał Górny authored
Implement the simpler vRun packet and prefer it over the A packet. Unlike the latter, it tranmits command-line arguments without redundant indices and lengths. This also improves GDB compatibility since modern versions of gdbserver do not implement the A packet at all. Make qLaunchSuccess not obligatory when using vRun. It is not implemented by gdbserver, and since vRun returns the stop reason, we can assume it to be successful. Differential Revision: https://reviews.llvm.org/D107931
-
Michał Górny authored
Add a GDB-compatible fallback to vFile:fstat for vFile:mode, and to vFile:open for vFile:exists. Note that this is only partial fallback, as it fails if the file cannot be opened. Differential Revision: https://reviews.llvm.org/D107811
-
Michał Górny authored
Add two new commands 'platform get-file-permissions' and 'platform file-exists' for the respective bits of LLDB protocol. Add tests for them. Fix error handling in GetFilePermissions(). Differential Revision: https://reviews.llvm.org/D107809
-
Michał Górny authored
Create a common GDBPlatformClientTestBase class and move the platform select/connect logic there to reduce duplication. Differential Revision: https://reviews.llvm.org/D109585
-
Anastasia Stulova authored
Update info on OpenCLSupport page to reflect changes committed after release 13 branched.
-
Jan Svoboda authored
In `ToolInvocation::run`, the driver -> cc1 command-line transformation uses `DiagnosticsEngine` that wasn't completely initialized. This patch ensures `ProcessWarningOptions(DiagnosticsEngine&, const DiagnosticOptions &)` is called. Depends on D108982. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D108974
-
Max Kazantsev authored
-
Jan Svoboda authored
In this patch the dependency scanner starts using proper `DiagnosticOptions` parsed from the actual TU command-line in order to mimic what the actual compiler would do. The actual functionality will be enabled and tested in follow-up patches. (This split is necessary to avoid temporary regression.) Depends on D108976. Reviewed By: dexonsmith, arphaman Differential Revision: https://reviews.llvm.org/D108982
-
Stephan Herhut authored
The original version of the bufferization pattern for linalg.generic would manually clone operations within the region to the bufferized clone of the operation. This triggers legality requirements on those operations in the conversion infra. Instead, this now uses the rewriter to inline the region instead, avoiding those legality requirements. Differential Revision: https://reviews.llvm.org/D109581
-
Sjoerd Meijer authored
LoopFlatten wasn't triggering on this motivating case after IV widening: void foo(int *A, int N, int M) { for (int i = 0; i < N; ++i) for (int j = 0; j < M; ++j) f(A[i*M+j]); } The reason was that the old induction phi nodes were getting in the way. These narrow and dead induction phis are not always trivially dead, and having both the narrow and wide IVs confused the analysis and caused it to bail. This adds some extra bookkeeping for these old phis, so we can filter them out when checks on phi nodes are performed. Other clean up passes will get rid of these old phis and increment instructions. As this was one of the motivating examples from the beginning, it was surprising this wasn't triggering from C/C++ code. It looks like the IR and CFG is just slightly different. Differential Revision: https://reviews.llvm.org/D109309
-