- Jul 01, 2021
-
-
Lang Hames authored
Adds support for both synchronous and asynchronous calls to wrapper functions using SPS (Simple Packed Serialization). Also adds support for wrapping functions on the JIT side in SPS-based wrappers that can be called from the executor. These new methods simplify calls between the JIT and Executor, and will be used in upcoming ORC runtime patches to enable communication between ORC and the runtime.
-
Andrzej Warzynski authored
Differential Revision: https://reviews.llvm.org/D104229
-
Stuart Ellis authored
-
Tobias Gysi authored
Move the OpDSL doc to a linalg sub folder and updated the integration in the main linalg documentation. Differential Revision: https://reviews.llvm.org/D105188
-
Sam McCall authored
-
Fabian Schuiki authored
Add helpers to facilitate adding arguments and results to operations that implement the `FunctionLike` trait. These operations already have a convenient argument and result *erasure* mechanism, but a corresopnding utility for insertion is missing. This introduces such a utility.
-
Jan Kratochvil authored
While on regular Linux system (Fedora 34 GA, not updated): * thread #1, name = '1', stop reason = hit program assert frame #0: 0x00007ffff7e242a2 libc.so.6`raise + 322 frame #1: 0x00007ffff7e0d8a4 libc.so.6`abort + 278 frame #2: 0x00007ffff7e0d789 libc.so.6`__assert_fail_base.cold + 15 frame #3: 0x00007ffff7e1ca16 libc.so.6`__assert_fail + 70 * frame #4: 0x00000000004011bd 1`main at assert.c:7:3 On Fedora 35 pre-release one gets: * thread #1, name = '1', stop reason = signal SIGABRT * frame #0: 0x00007ffff7e48ee3 libc.so.6`pthread_kill@GLIBC_2.2.5 + 67 frame #1: 0x00007ffff7dfb986 libc.so.6`raise + 22 frame #2: 0x00007ffff7de5806 libc.so.6`abort + 230 frame #3: 0x00007ffff7de571b libc.so.6`__assert_fail_base.cold + 15 frame #4: 0x00007ffff7df4646 libc.so.6`__assert_fail + 70 frame #5: 0x00000000004011bd 1`main at assert.c:7:3 I did not write a testcase as one needs the specific glibc. An artificial test would just copy the changed source. Reviewed By: mib Differential Revision: https://reviews.llvm.org/D105133 -
Roman Lebedev authored
I.e. it will be `false` for thin lto.
-
Qiu Chaofan authored
This patch changes return type of tryCandidate from void to bool: 1. Methods in some targets already follow this convention. 2. This would help if some target wants to re-use generic code. 3. It looks more intuitive if these try-method returns the same type. We may need to change return type of them from bool to some enum further, to make it less confusing. Reviewed By: foad Differential Revision: https://reviews.llvm.org/D103951
-
Corentin Jabot authored
Reviewed By: #libc, Quuxplusone, ldionne Differential Revision: https://reviews.llvm.org/D105103
-
Jacob Hegna authored
Differential Revision: https://reviews.llvm.org/D104829
-
LLVM GN Syncbot authored
-
Brian Cain authored
Add definitions for Hexagon, Hexagon circular/bit-reverse and HVX intrinsics.
-
theidexisted authored
Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D105077
-
LLVM GN Syncbot authored
-
Vitaly Buka authored
Reviewed By: hctim Differential Revision: https://reviews.llvm.org/D105233
-
Vitaly Buka authored
It's already covered by multiple tests, but to trigger this path we need MTE+GWP which disabled. Reviewed By: hctim, pcc Differential Revision: https://reviews.llvm.org/D105232
-
Lang Hames authored
This is a first step towards consistently using the term 'executor' for the process that executes JIT'd code. I've opted for 'executor' as the preferred term over 'target' as target is already heavily overloaded ("the target machine for the executor" is much clearer than "the target machine for the target"). -
Chuanqi Xu authored
Now we lack a benchmark to measure the performance change for each commit. Since coro elide is the main optimization in coroutine module, I wonder it may be an estimation to count the number of elided coroutine in private code bases. e.g., for a certain commit, if we found that the number of elided goes down, we could find it before the commit check-in. Reviewed By: lxfind Differential Revision: https://reviews.llvm.org/D105095
-
Jez Ng authored
By using stable_sort. Added a test case which previously failed when expensive checks were enabled. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D105240
-
Geoffrey Martin-Noble authored
I missed this in https://reviews.llvm.org/D105245 Reviewed By: chandlerc Differential Revision: https://reviews.llvm.org/D105252
-
Jun Ma authored
This change fixes the crash that PRValue cannot be handled by EmitLValue. Differential Revision: https://reviews.llvm.org/D105097
-
Jun Ma authored
As is mentioned above Differential Revision: https://reviews.llvm.org/D104852
-
Matthias Springer authored
* Split memref.dim into two operations: memref.dim and tensor.dim. Both ops have the same builder interface and op argument names, so that they can be used with templates in patterns that apply to both tensors and memrefs (e.g., some patterns in Linalg). * Add constant materializer to TensorDialect (needed for folding in affine.apply etc.). * Remove some MemRefDialect dependencies, make some explicit. Differential Revision: https://reviews.llvm.org/D105165
-
Fangrui Song authored
ExternalSymbolSDNode is implicitly generated libcalls but with an address taking operation we cannot reference an ExternalSymbolSDNode.
-
Richard Smith authored
-ast-dump=json tries to mangle every declaration, and under the MS ABI there are still a few things we can't mangle, which caused this test to assert.
-
Dhruva Chakrabarti authored
This reverts commit 2240b41e. A value of 0 for KernDescVal WG_Size implies it is unknown, so it should be set to the default. The above change was made without this assumption. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D105250
-
Min-Yih Hsu authored
Implementation of formal arguments lowering in the IRTranslator for the M68k backend Differential Revision: https://reviews.llvm.org/D104542
-
Richard Smith authored
-
Geoffrey Martin-Noble authored
This patch introduces a custom rule for expanding the LLVM target enumeration .def files. This provides a slightly cleaner API for these rules, but is mostly to permit selects to be used when determining which LLVM targets to build. Right now the target list is generated at Bazel configure time, but this will allows us to add functionality to also control which targets are built based on config settings. Tested: Ran `bazel test --config=rbe ... @llvm-project//...` Reviewed By: chandlerc Differential Revision: https://reviews.llvm.org/D104969
-
Geoffrey Martin-Noble authored
Reviewed By: chandlerc Differential Revision: https://reviews.llvm.org/D105245
-
thomasraoux authored
Uses elementwise interface to generalize canonicalization pattern and add a new pattern for vector.contract case. Differential Revision: https://reviews.llvm.org/D104343
-
Sanjay Patel authored
This is one sibling of the fold added with c7b658ae . (X + C2) <u C --> X >s ~C2 (if C == C2 + SMIN) I'm still not sure how to describe it best, but we're translating 2 constants from an unsigned range comparison to signed because that eliminates the offset (add) op. This could be extended to handle the more general (non-constant) pattern too: https://alive2.llvm.org/ce/z/K-fMBf define i1 @src(i8 %a, i8 %c2) { %t = add i8 %a, %c2 %c = add i8 %c2, 128 ; SMIN %ov = icmp ult i8 %t, %c ret i1 %ov } define i1 @tgt(i8 %a, i8 %c2) { %not_c2 = xor i8 %c2, -1 %ov = icmp sgt i8 %a, %not_c2 ret i1 %ov }
-
Sanjay Patel authored
This is the 'ult' sibling pattern for: c7b658ae
-
Jez Ng authored
Matches ld64. Reviewed By: #lld-macho, alexander-shaposhnikov Differential Revision: https://reviews.llvm.org/D105080
-
Jez Ng authored
Previously, we only applied the renames to ConcatOutputSections. Reviewed By: #lld-macho, thakis Differential Revision: https://reviews.llvm.org/D105079
-
Siva Chandra Reddy authored
Few tests have been converted to the new test patterns to facilitate this.
-
Jeremy Morse authored
This patch adds support to the instruction-referencing LiveDebugValues implementation for emitting entry values. The instruction referencing implementations tracking by value rather than location means that we can get around two of the issues with VarLocs. DBG_VALUE instructions that re-assign the same value to a variable are no longer a problem, because we can "see through" to the value being assigned. We also don't need to do anything special during the dataflow stages: the "variable value problem" doesn't need to know whether a value is available most of the time, and the times it deoes need to know are always when entry values need to be terminated. The patch modifies the "TransferTracker" class, adding methods to identify when a variable ias an entry value candidate, and when a machine value is an entry value. recoverAsEntryValue tests these two things and emits an entry-value expression if they're true. It's used when we clobber or otherwise lose a value and can't find a replacement location for the value it contained. Differential Revision: https://reviews.llvm.org/D88406
-
Matt Arsenault authored
This enables proper lowering of non-byte sized loads. We still aren't faithfully preserving memory types everywhere, so the legality checks still only consider the size.
-
Jon Chesterfield authored
A step towards making this function adequately self contained that it can be tested easily. No functional change intended here, left variable names unchanged. Reviewed By: ronlieb Differential Revision: https://reviews.llvm.org/D105229
-