- Jul 11, 2023
-
-
Valentin Clement authored
Add support for `iand` reduction operator in OpenACC lowering. Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D154886
-
Richard Smith authored
We were accidentally profiling the fabricated second argument (`0`), resulting in overloaded dependent `a++` and non-overloaded dependent `a++` having different hashes.
-
Fangrui Song authored
Port D69671 (llvm-readobj) to llvm-objdump. Add a class llvm::objdump::Dumper and move some free functions into Dumper so that they can call reportUniqueWarning. Warnings seems preferable in these cases as the issue is localized and we can continue dumping other information. Differential Revision: https://reviews.llvm.org/D154754
-
Viktoriia Bakalova authored
Differential Revision: https://reviews.llvm.org/D154962
-
Fangrui Song authored
-
Guray Ozen authored
`mbarrier` is a barrier created in shared memory that supports different flavors of synchronizing threads other than `__syncthreads`, for more information see below. https://docs.nvidia.com/cuda/parallel-thread-execution/#parallel-synchronization-and-communication-instructions-mbarrier This work adds initial Ops wrt `mbarrier` to nvgpu dialect. First, it introduces to two types: `mbarrier.barrier` that is barrier object in shared memory `mbarrier.barrier.token` that is token It introduces following Ops: `mbarrier.create` creates `mbarrier.barrier` `mbarrier.init` initializes `mbarrier.barrier` `mbarrier.arrive` performs arrive-on `mbarrier.barrier` returns `mbarrier.barrier.token` `mbarrier.arrive.nocomplete` performs arrive-on (non-blocking) `mbarrier.barrier` returns `mbarrier.barrier.token` `mbarrier.test_wait` waits on `mbarrier.barrier` and `mbarrier.barrier.token` Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D154090
-
Aliia Khasanova authored
Differential Revision: https://reviews.llvm.org/D154976
-
Petr Hosek authored
This reverts commit dae9d1b5 since it caused https://github.com/llvm/llvm-project/issues/63799.
-
Luke Lau authored
It no longer defaults to false as of 63336795 Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D154973
-
Juan Manuel MARTINEZ CAAMAÑO authored
This reverts commit 125b9074.
-
Juan Manuel MARTINEZ CAAMAÑO authored
Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D154970
-
Matthias Springer authored
Add a new option that allows users to specify a memcpy op: "memref.tensor_store", "memref.copy" or "linalg.copy". Differential Revision: https://reviews.llvm.org/D154968
-
Matthias Springer authored
This unit attribute indicates to the bufferization that the resulting buffer will not be written to by another op. Differential Revision: https://reviews.llvm.org/D154967
-
Serge Pavlov authored
Builtin floating-point number classification functions: - __builtin_isnan, - __builtin_isinf, - __builtin_finite, and - __builtin_isnormal now are implemented using `llvm.is_fpclass`. This change makes the target callback `TargetCodeGenInfo::testFPKind` unneeded. It is preserved in this change and should be removed later. Differential Revision: https://reviews.llvm.org/D112932 -
Matthias Springer authored
Return all ops that were generated as part of the bufferization, so that users do not have to match them in the enclosing op. Differential Revision: https://reviews.llvm.org/D154966
-
David Mo authored
For inline WebAssembly, passing a numeric operand to global.get is unsupported. This causes encodeInstruction to reach an llvm_unreachable call, leading to undefined behaviors. This patch fixes the issue for this invalid instruction encoding, making it report an error by adding an MCContext field in class WebAssemblyMCCodeEmitter. Reviewed By: sbc100, bryanpkc Differential Revision: https://reviews.llvm.org/D154734
-
Phoebe Wang authored
The combination was designed to combine a negative imaginary value rather then a full negative complex value. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D154213
-
Matthias Springer authored
This transform op can be used to select all payload ops with a given name from a handle. Differential Revision: https://reviews.llvm.org/D154956
-
gilsaia authored
Added a series of optimizations to the Intersect function of PresburgerRelation, referring to the ISL implementation. Tested it on a simple Benchmark implemented by myself to see that it can speed up the Intersect operation The Benchmark can be found here:https://github.com/gilsaia/llvm-project-test-fpl/blob/develop_benchmark/mlir/benchmark/presburger/Benchmark.cpp The overall results for Intersect are as follows {F28191553} The results for each case are as follows {F28191556} Reviewed By: Groverkss Differential Revision: https://reviews.llvm.org/D154771
-
NAKAMURA Takumi authored
-
Juan Manuel MARTINEZ CAAMAÑO authored
Moving out some changes not related to the bugfix in https://reviews.llvm.org/D154946 Reviewed By: JonChesterfield, arsenm Differential Revision: https://reviews.llvm.org/D154959
-
Georgi Mirazchiyski authored
Co-Authored-By:
Aidan Belton <aidan.belton@codeplay.com> Reviewed By: tra Differential Revision: https://reviews.llvm.org/D117118
-
Simon Wallis authored
Mark the tMOVi32imm pseudo instr as killing the flags register. The pseudo instruction expands to a sequence of 7 movs/lsls/adds instructions, which are all Thumb-1 flag setting instructions. For a test case, take an existing arm test which checks for "Don't CSE a cmp across a call that clobbers CPSR." and retarget it at thumbv6m execute-only. Reviewed By: stuij Differential Revision: https://reviews.llvm.org/D154845 Change-Id: I8f8209fbc40a833f8875629937b9606c1e2c021d
-
Victor Perez authored
Define `llvm.intr.var.annotation`, `llvm.intr.ptr.annotation` and `llvm.intr.annotation` in the llvm dialect as `llvm.var.annotation`, `llvm.ptr.annotation` and `llvm.annotation` counterparts. Signed-off-by:
Victor Perez <victor.perez@codeplay.com> Differential Revision: https://reviews.llvm.org/D154842
-
Nicolas Vasilache authored
-
Simon Pilgrim authored
-
-
Matt Arsenault authored
-
Vlad Serebrennikov authored
Those issues focus on `template` keyword being optional in certain type-only contexts (base specifiers, member initializers, typename specifiers), as opposed to be disallowed by the grammar, or required by some implementations. GCC accepts all the tests this patch touches since 10, others fail on various tests: https://godbolt.org/z/1M6KE3W1a It should be noted that the wording in [[ https://cplusplus.github.io/CWG/issues/1710.html | 1710 ]] that resolves those issues has been substantially changed by [[ https://wg21.link/p1787 | P1787 ]]. I can't find the post-P1787 wording that covers those issues, but I can't find the intent of changing relevant behavior in P1787 either, so I assume that intent of the 1710 resolution is preserved somewhere. This patch covers the following issues: [[ https://cplusplus.github.io/CWG/issues/314.html | CWG314 ]] [[ https://cplusplus.github.io/CWG/issues/343.html | CWG343 ]] [[ https://cplusplus.github.io/CWG/issues/1710.html | CWG1710 ]] [[ https://cplusplus.github.io/CWG/issues/1794.html | CWG1794 ]] [[ https://cplusplus.github.io/CWG/issues/1812.html | CWG1812 ]] Reviewed By: #clang-language-wg, cor3ntin Differential Revision: https://reviews.llvm.org/D151697
-
Nikita Popov authored
If the and/or operand is an immediate constant, it will get folded away anyway. Don't try to freely invert those operands. A particularly degenerate case of this arises when both operands are constant and the result is a constant, in which case we try to invert users of a constant, resulting in an assertion failure. Fixes https://github.com/llvm/llvm-project/issues/63791.
-
LLVM GN Syncbot authored
-
Haojian Wu authored
The fixIncludes was using the `input` as the main file path, this will results in inserting header at wrong places. We need the main file path to so that we can get the real main-file header. Differential Revision: https://reviews.llvm.org/D154950
-
Joachim Jenke authored
Add CHECK_OPENMP_ENV environment variable which will be passed to environment variables for test (make check-* target). This provides a handy way to exercise various openmp code with different settings during development. For example, to change default barrier pattern: ``` $ env CHECK_OPENMP_ENV="KMP_FORKJOIN_BARRIER_PATTERN=hier,hier \ KMP_PLAIN_BARRIER_PATTERN=hier,hier \ KMP_REDUCTION_BARRIER_PATTERN=hier,hier" \ ninja check-openmp ``` Even with this, each test can set appropriate environment variables if needed as before. Also, this commit adds missing documention about how to run tests in README. Patch provided by t-msn Differential Revision: https://reviews.llvm.org/D122645
-
Nikita Popov authored
-
Louis Dionne authored
This makes <__threading_support> closer to handling only the bridge between the system's implementation of threading and the rest of libc++. Differential Revision: https://reviews.llvm.org/D154464
-
Hui authored
There are discussions about different ways of implementing `stop_token` to make it more performant mark `stop_token` as experimental to allow us to change the design before it is shipped Co-authored-by:
Louis Dionne <ldionne.2@gmail.com> Differential Revision: https://reviews.llvm.org/D154700
-
Alexandros Lamprineas authored
As shown in D154820, the DataLayout-independent constant folding interface is not good enough for handling GEPs. Instead we should be using the DataLayout-aware constant folding interface. Since there isn't a method to specifically handle GEPs we can use the one which folds generic instruction operands. Differential Revision: https://reviews.llvm.org/D154821
-
Alexandros Lamprineas authored
The InstCostVisitor is currently using the DataLayout-independent constant folding interface. This is a workaround since we can't directly call ConstantExpr::getGetElementPtr due to deprecation. This patch shows that the constant folding interface we are using is not good enough. Differential Revision: https://reviews.llvm.org/D154820
-
Nico Weber authored
-
Nico Weber authored
-