- Feb 19, 2022
-
-
Nathan Sidwell authored
The linter complains about the formatting in subsequent changes. Fixing that now. Reviewed By: iains Differential Revision: https://reviews.llvm.org/D120117
-
Sanjay Patel authored
This fold is done in IR: https://alive2.llvm.org/ce/z/jWyFrP There is an x86 test that shows an improvement from the added flexibility of using add (commutative). The other diffs are presumed neutral. Note that this could also be folded to an 'xor', but I'm not sure if that would be universally better (eg, x86 can convert adds more easily into LEA). This helps prevent regressions from a potential fold for issue #53829.
-
Philip Reames authored
-
Philip Reames authored
-
Dave Lee authored
Add `llvm_unreachable` to prevent warnings/errors in gcc and msvc. Differential Revision: https://reviews.llvm.org/D119737
-
Philip Reames authored
-
Jay Foad authored
Take advantage of D117117 to simplify all {{\[}} to [ and {{\]}} to ]. Differential Revision: https://reviews.llvm.org/D117298 -
Carlo Bertolli authored
[OpenMP][libomptarget] Delay restore of shadow pointers in structs to after H2D memory copies are completed When using asynchronous plugin calls, shadow pointer restore could happen before the D2H copy for the entire struct has completed, effectively leaving a device pointer in a host struct. This patch fixes the problem by delaying restore's to after a synchronization happens (target regions) and by calling early synchronization (target update). Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D119968
-
William S. Moses authored
MLIR has the notion of allocation scopes which specify that stack allocations (e.g. memref.alloca, llvm.alloca) should be freed or equivalently aren't available at the end of the corresponding region. Currently neither OpenMP parallel nor SCF parallel regions have the notion of such a scope. This clearly makes sense for an OpenMP parallel as this is implemented in with a new function which outlines the region, and clearly any allocations in that newly outlined function have a lifetime that ends at the return of the function, by definition. While SCF.parallel doesn't have a guaranteed runtime which it is implemented with, this similarly makes sense for SCF.parallel since otherwise an allocation within an SCF.parallel will needlessly continue to allocate stack memory that isn't cleaned up until the function (or other allocation scope op) which contains the SCF.parallel returns. This means that it is impossible to represent thread or iteration-local memory without causing a stack blow-up. In the case that this stack-blow-up behavior is intended, this can be equivalently represented with an allocation outside of the SCF.parallel with a size equal to the number of iterations. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D119743
-
- Feb 18, 2022
-
-
Philip Reames authored
-
Philip Reames authored
At the moment, this just groups comments with a reasonably named predicate, but I plan to add other cases to this in the near future.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Shilei Tian authored
This is a follow-up patch of D119378. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D119392
-
Guillaume Chatelet authored
The benchmark framework synthesizes fake "aggregate" Samples representing mean, median and cv. We're only interested in "iteration" samples. Differential Revision: https://reviews.llvm.org/D120062
-
Shilei Tian authored
This patch adds the support for `atomic compare capture` in parser and part of sema. We don't create an AST node for this because the spec doesn't say `compare` and `capture` clauses should be used tightly, so we cannot look one more token ahead in the parser. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D116261
-
LLVM GN Syncbot authored
-
Jay Foad authored
Previously the name of the class (AMDGPUCFGStructurizer) did not match the name of the file (AMDILCFGStructurizer). Standardize on the name R600MachineCFGStructurizer by analogy with AMDGPUMachineCFGStructurizer. Differential Revision: https://reviews.llvm.org/D120128
-
Simon Pilgrim authored
Revert rGc24e197a "[clangd] getHover - pass FormatStyle argument by const reference" There are a number of buildbot build failures on non MSVC compilers
-
Valentin Clement authored
Lower simple binary operation (+, -, *, /) for scalars. This patch is part of the upstreaming effort from fir-dev branch. Depends on D120058 Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D120063 Co-authored-by:
Jean Perier <jperier@nvidia.com> Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com>
-
Simon Pilgrim authored
Reported by coverity
-
Florian Hahn authored
This patch simplifies constraint handling by removing the ConstraintListTy wrapper struct and moving the Preconditions directly into ConstraintTy. This reduces the amount of memory needed for managing constraints. The only use case for ConstraintListTy was adding 2 constraints to model ICMP_EQ conditions. But this can be handled by adding an IsEq flag. When adding an equality constraint, we need to add the constraint and the inverted constraint.
-
Benjamin Kramer authored
Clean up code that worked around this limitation. Differential Revision: https://reviews.llvm.org/D120119
-
David Stone authored
Differential Revision: https://reviews.llvm.org/D99134
-
Sebastian Neubauer authored
Fix some typos in the amdgpu backend. Differential Revision: https://reviews.llvm.org/D119235
-
Florian Hahn authored
This makes the called functions independent of the container type.
-
Sebastian Neubauer authored
Same as on vgpr copies, we cannot kill the source register if it overlaps with the destination register. Otherwise, the kill of the source register will also count as a kill for the destination register. Differential Revision: https://reviews.llvm.org/D120042
-
Joseph Huber authored
One of the optimizations performed in OpenMPOpt pushes globalized variables to static shared memory. This is preferable to keeping the runtime call in all cases, however if too many variables are pushed to hared memory the kernel will crash. Since this is an optimization and not something the user specified explicitly, there should be an option to limit this optimization in those cases. This path introduces the `-openmp-opt-shared-limit=` option to limit the amount of bytes that will be placed in shared memory from HeapToShared. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D120079
-
Joseph Huber authored
The runtime uses thread state values to indicate when we use an ICV or are in nested parallelism. This is done for OpenMP correctness, but it not needed in the majority of cases. The new flag added is `-fopenmp-assume-no-thread-state`. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D120106
-
Luo, Yuanke authored
-
Alexey Bataev authored
If the alternate cmp instruction is a swapped predicate of the main cmp instruction, need to generate alternate instruction, not the one with the swapped predicate. Also, the lane with the alternate opcode should be selected only, if the corresponding operands are not compatible. Correctness confirmed: https://alive2.llvm.org/ce/z/94BG66 Differential Revision: https://reviews.llvm.org/D119855
-
Simon Moll authored
The broadcast patterns for all-true|false masks are available now. Enable the true|fast fcmp predicate tests that use them. Reviewed By: kaz7 Differential Revision: https://reviews.llvm.org/D119936
-
Simon Moll authored
vmp0 is the all-ones v512i1 register and does not break down into subregisters. Reviewed By: kaz7 Differential Revision: https://reviews.llvm.org/D120054
-
Benjamin Kramer authored
This subsumes the builder and verifier.
-
Florian Hahn authored
-
Nico Weber authored
-
Pavel Labath authored
This patch adds introduces a new kind of an lldbinit file. Unlike the lldbinit in the home directory (useful for customizing lldb to the needs of a particular user), or the cwd lldbinit file (useful for project-specific settings), this file can be used to customize an entire lldb installation to a particular environment. The feature is enabled at build time, by setting the LLDB_GLOBAL_INIT_DIRECTORY variable to a path to a directory which should contain an "lldbinit" file. Lldb will then load the file at startup, if it exists, and if automatic init loading has not been disabled. Relative paths will be resolved (at runtime) relative to the location of the lldb library (liblldb or LLDB.framework). The system-wide lldbinit file will be loaded first, before any $HOME/.lldbinit and $CWD/.lldbinit files are processed, so that those can override any system-wide settings. More information can be found on the RFC thread at <https://discourse.llvm.org/t/rfc-system-...
-
Simon Pilgrim authored
-
Tres Popp authored
insert is soft deprecated, so remove all references so it's less likely to be used and can be easily removed in the future. Differential Revision: https://reviews.llvm.org/D120021
-