- Mar 02, 2021
-
-
dfukalov authored
For the cases of two clobbering loads and one loaded object is fully contained in the second `BasicAAResult::aliasGEP` returns just `PartialAlias` that is actually more common case of partial overlap, it doesn't say anything about actual overlapping sizes. AA users such as GVN and DSE have no functionality to estimate aliasing of GEPs with non-constant offsets. The change stores estimated relative offsets so they can be used further. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D93529
-
Thomas Preud'homme authored
__builtin_isinf currently generates a floating-point compare operation which triggers a trap when faced with a signaling NaN in StrictFP mode. This commit uses integer operations instead to not generate any trap in such a case. Reviewed By: mibintc Differential Revision: https://reviews.llvm.org/D97125
-
Jingu Kang authored
-
Jan Kratochvil authored
-
Jan Kratochvil authored
-
Sam McCall authored
Don't show negative numbers Don't show numbers <10 (hex is the same as decimal) Show numeric enum values in hex too Differential Revision: https://reviews.llvm.org/D97226
-
Nico Weber authored
-
Nico Weber authored
-
Nico Weber authored
-
Utkarsh Saxena authored
CodeCompletionContext::Kind has 36 Kinds. The completion model used to support categorical features of 32 cardinality. Due to this clangd tests were failing asan tests due to overflow. This patch makes the completion model support 64 cardinality of categorical features by storing ENUM Features as uint64_t instead of uint32_t. Verified that this fixes the asan failures. Latency: 6.7ms (old) VS 6.8ms (new) per 1000 predictions. Differential Revision: https://reviews.llvm.org/D97770
-
Alexey Bataev authored
If the mapped structure has data members, which have 'default' mappers, need to map these members individually using their 'default' mappers. Differential Revision: https://reviews.llvm.org/D92195
-
Tim Northover authored
AArch64.td got it right, but the target-parser dropped it, leading to missing feature flags in Clang.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Andrzej Warzynski authored
This reverts commit 93c5e6bb. This patch updates resolve102.f90 which is now failing in 6 out 8 of our public buildbots: * http://lab.llvm.org:8011/#/builders/21/builds/9625 * http://lab.llvm.org:8011/#/builders/134/builds/2395 * http://lab.llvm.org:8011/#/builders/79/builds/6298 * http://lab.llvm.org:8011/#/builders/66/builds/2084 * http://lab.llvm.org:8011/#/builders/135/builds/2485 * http://lab.llvm.org:8011/#/builders/32/builds/3551 Please see the following revisions for more context: * https://reviews.llvm.org/D97201 * https://reviews.llvm.org/D97749
-
Sam McCall authored
-
Alexey Bataev authored
It is possible to merge reuse and reorder shuffles and reduce the total cost of the vectorization tree/number of final instructions. Differential Revision: https://reviews.llvm.org/D94992
-
Stefan Gränitz authored
-
Frederik Gossen authored
Some elementwise operations are not scalarizable, vectorizable, or tensorizable. Split `ElementwiseMappable` trait into the following, more precise traits. - `Elementwise` - `Scalarizable` - `Vectorizable` - `Tensorizable` This allows for reuse of `Elementwise` in dialects like HLO. Differential Revision: https://reviews.llvm.org/D97674
-
Sanjay Patel authored
This prepares codegen for a change that will remove the identical folds from IR because they are not poison-safe. See D93065 / D97360 for details. We already generically support scalar types, and there are various target-specific transforms that overlap the vector folds. For example, x86 recognizes the and patterns, but not or. We can end up with 1 extra instruction there, but I think that is still preferred over the blendv alternative that loads a constant vector. If this is not optimal, then it should be fixed with a later transform (this change is not expected to result in any regressions because InstCombine currently does the same thing). Removing custom code and supporting undefs in constant-pattern-matching can be follow-up changes. Differential Revision: https://reviews.llvm.org/D97730
-
Jan Kratochvil authored
LLDB has been failing on binaries produced by new GCC 11.0 with -gdwarf-5. Differential Revision: https://reviews.llvm.org/D97721
-
Stefan Gränitz authored
-
Stefan Gränitz authored
-
Stefan Gränitz authored
-
Stefan Gränitz authored
lli aims to provide both, RuntimeDyld and JITLink, as the dynamic linkers/loaders for it's JIT implementations. And they both offer debugging via the GDB JIT interface, which builds on the two well-known symbol names `__jit_debug_descriptor` and `__jit_debug_register_code`. As these symbols must be unique accross the linked executable, we can only define them in one of the libraries and make the other depend on it. OrcTargetProcess is a minimal stub for embedding a JIT client in remote executors. For the moment it seems reasonable to have the definition there and let ExecutionEngine depend on it, until we find a better solution. This is the second commit for the reviewed patch. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D97339
-
Stefan Gränitz authored
Add a new ObjectLinkingLayer plugin `DebugObjectManagerPlugin` and infrastructure to handle creation of `DebugObject`s as well as their registration in OrcTargetProcess. The current implementation only covers ELF on x86-64, but the infrastructure is not limited to that. The journey starts with a new `LinkGraph` / `JITLinkContext` pair being created for a `MaterializationResponsibility` in ORC's `ObjectLinkingLayer`. It sends a `notifyMaterializing()` notification, which is forwarded to all registered plugins. The `DebugObjectManagerPlugin` aims to create a `DebugObject` form the provided target triple and object buffer. (Future implementations might create `DebugObject`s from a `LinkGraph` in other ways.) On success it will track it as the pending `DebugObject` for the `MaterializationResponsibility`. This patch only implements the `ELFDebugObject` for `x86-64` targets. It follows the RuntimeDyld approach for debug object setup: it captures a copy of the input object, parses all section headers and prepares to patch their load-address fields with their final addresses in target memory. It instructs the plugin to report the section load-addresses once they are available. The plugin overrides `modifyPassConfig()` and installs a JITLink post-allocation pass to capture them. Once JITLink emitted the finalized executable, the plugin emits and registers the `DebugObject`. For emission it requests a new `JITLinkMemoryManager::Allocation` with a single read-only segment, copies the object with patched section load-addresses over to working memory and triggers finalization to target memory. For registration, it notifies the `DebugObjectRegistrar` provided in the constructor and stores the previously pending`DebugObject` as registered for the corresponding MaterializationResponsibility. The `DebugObjectRegistrar` registers the `DebugObject` with the target process. `llvm-jitlink` uses the `TPCDebugObjectRegistrar`, which calls `llvm_orc_registerJITLoaderGDBWrapper()` in the target process via `TargetProcessControl` to emit a `jit_code_entry` compatible with the GDB JIT interface [1]. So far the implementation only supports registration and no removal. It appears to me that it wouldn't raise any new design questions, so I left this as an addition for the near future. [1] https://sourceware.org/gdb/current/onlinedocs/gdb/JIT-Interface.html Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D97335
-
Stefan Gränitz authored
-
Stefan Gränitz authored
-
Stefan Gränitz authored
-
Stefan Gränitz authored
-
Stefan Gränitz authored
-
Stefan Gränitz authored
The argument value determines the dynamic linker to use (`default`, `rtdyld` or `jitlink`). The JITLink implementation only supports in-process JITing for now. This is the first commit for the reviewed patch. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D97339
-
Utkarsh Saxena authored
CodeCompletionContext::Kind has 36 Kinds. The completion model currently only handles categorical features of 32 cardinality. Changing the datatype to uint64_t will solve the problem. This reverts commit 438b5bb0.
-
Peyton, Jonathan L authored
Fix for https://bugs.llvm.org/show_bug.cgi?id=49339 The CMake check for the RTM intrinsics needs the -mrtm flag to be set during the test. This way clang-cl correctly detects it has the _xbegin() intrinsic. Otherwise, the CMake check fails. Differential Revision: https://reviews.llvm.org/D97413
-
Ed Maste authored
ccb4124a fixed translating -gz=zlib to --compress-debug-sections for linker invocation for several ToolChains, but omitted FreeBSD. Differential Revision: https://reviews.llvm.org/D97752
-
Simon Pilgrim authored
Noticed in "initialization is never read" clang-tidy warning - the only StartAddress set/used is inside the load combine loop.
-
Benjamin Kramer authored
AsmParser may have no LLVMContext attached to it, which means after 5de2d189 everything goes to stderr. Restore the old behavior.
-
Christian Sigg authored
This is a preparation step to remove getAttrs() from OpState.
-
Muhammad Omair Javaid authored
GDB remote protocol does not specify length of g packet for register read. It depends on remote to include all or exclude certain registers from g packet. In case a register or set of registers is not included as part of g packet then we should fall back to p packet for reading all registers excluded from g packet by remote. This patch adds support for above feature and adds a test-case for the same. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D97498
-
Jan Svoboda authored
-