- Jan 06, 2022
-
-
Chuanqi Xu authored
Although we moved to Github Issues. The bug report message refers to Bugzilla still. This patch tries to update these URLs. Reviewed By: MaskRay, Quuxplusone, jhenderson, libunwind, libc++ Differential Revision: https://reviews.llvm.org/D116351
-
Alex Zinenko authored
Historically, the bindings for the Linalg dialect were included into the "core" bindings library because they depended on the C++ implementation of the "core" bindings. The other dialects followed the pattern. Now that this dependency is gone, split out each dialect into a separate Python extension library. Depends On D116649, D116605 Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D116662
-
Fangrui Song authored
They are LLD-specific and by convention we enforce the double-dash form to avoid collision with short options (e.g. weird `-c olor-diagnostics` interpretation in GNU ld). They are rarely used and to the best of my investigation the undesired single-dash forms are not used in the wild.
-
Nikita Popov authored
If the gep is not inbounds, then the gep might compute a null value even if the base pointer is non-null.
-
Nikita Popov authored
The gep evaluated to null in this case, and as such is not ne null.
-
Matthias Springer authored
Until now, bufferization assumed that the yieleded tensor of a linalg.tiled_loop is an output tensor. This is not necessarily the case. Differential Revision: https://reviews.llvm.org/D116685
-
Jim Lin authored
-
Fangrui Song authored
And improve the help message for --pop-state.
-
Matthias Springer authored
No need to keep track of equivalent extract_slice / insert_slice tensors during bufferization. Just emit a copy, it will fold away. Note: The analysis still keeps track of equivalent tensors to make the correct inplace bufferization decisions. Differential Revision: https://reviews.llvm.org/D116684
-
Nikita Popov authored
This implements the clang side of D116531. The elementtype attribute is added for all indirect constraints (*) and tests are updated accordingly. Differential Revision: https://reviews.llvm.org/D116666
-
Martin Storsjö authored
There are no duplicates among the include files, and all the source files are wrapped in architecture ifdefs, so there's no harm in including all of them, always. This fixes builds if TARGET_TRIPLE is set to something else than the build architecture. This also allows building for multiple architectures at once by setting CMAKE_OSX_ARCHITECTURES. Differential Revision: https://reviews.llvm.org/D116625
-
Nikita Popov authored
Track all GlobalObjects that reference a given comdat, which allows determining whether a function in a comdat is dead without scanning the whole module. In particular, this makes filterDeadComdatFunctions() have complexity O(#DeadFunctions) rather than O(#SymbolsInModule), which addresses half of the compile-time issue exposed by D115545. Differential Revision: https://reviews.llvm.org/D115864
-
mydeveloperday authored
https://github.com/llvm/llvm-project/issues/52979 Though SpaceAfterCStyleCast is set to true, clang-format 13 does not add a space after (void *) here: ``` ``` This patch addresses that Fixes: #52979 Reviewed By: curdeius, HazardyKnusperkeks, owenpan Differential Revision: https://reviews.llvm.org/D116592
-
Lang Hames authored
This re-applies 133f86e9, which was reverted in c5965a41 while I investigated bot failures. The original failure contained an arithmetic conversion think-o (on line 419 of EHFrameSupport.cpp) that could cause failures on 32-bit platforms. The issue should be fixed in this patch.
-
Vitaly Buka authored
Breaks Asan on Fuchsia's and ubsan with gcc. This reverts commit 685c94c6.
-
Christudasan Devadasan authored
The function that optimally inserts the exec mask restore operations by combining the blocks currently visits the lowered END_CF pseudos in the forward direction as it iterates the setvector in the order the entries are inserted in it. Due to the absence of BranchFolding at -O0, the irregularly placed BBs cause the forward traversal to incorrectly place two unconditional branches in certain BBs while combining them, especially when an intervening block later gets optimized away in subsequent iterations. It is avoided by reverse iterating the setvector. The blocks at the bottom of a function will get optimized first before processing those at the top. Fixes: SWDEV-315215 Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D116273
-
David Blaikie authored
Patch that removed the use of this variable was reverted in 8ade3d43 This reverts commit 3988a06d.
-
David Blaikie authored
Use the TUIndex in a DWP file if present, otherwise (in .o, .dwo, and non-split linked executables) cache a DenseMap for lookup of type units.
-
David Blaikie authored
Important for DWARFv5 debug info which might contain type units in the debug_info section, which made summarize-types fairly ineffective/lost amongst the noise of CUs being dumped.
-
Congzhe Cao authored
This reverts commit 15702ff9 while I investigate a ppc build bot failure at https://lab.llvm.org/buildbot#builders/36/builds/16051.
-
David Blaikie authored
-
David Blaikie authored
Improves llvm-dwarfdump output and for simplified template names roundtripping.
-
Vaivaswatha Nagaraj authored
Since the analysis is described to be suitable for a forward data-flow analysis, maintaining the worklist as a queue mimics RPO ordering of block visits, thus reaching the fixpoint earlier. Differential Revision: https://reviews.llvm.org/D116393
-
Lang Hames authored
This reverts commit 133f86e9 while I investigate the bot failures at https://lab.llvm.org/buildbot#builders/186/builds/3370.
-
Shilei Tian authored
In function `DeviceTy::getTargetPointer`, `Entry` could be `nullptr` because of zero length array section. We need to check if it is a valid iterator before using it. Reviewed By: ronlieb Differential Revision: https://reviews.llvm.org/D116716
-
Fangrui Song authored
llvm/test/Bindings/Go is quite flaky in the past few months and nobody fixes it. See * https://lists.llvm.org/pipermail/llvm-dev/2021-December/154353.html "Suggestions on debugging pre-merge test failure that looks irrelevant." * https://github.com/llvm/llvm-project/issues/53017 Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D116698
-
Congzhe Cao authored
There was a limitation in legality that in the original inner loop latch, no instruction was allowed between the induction variable increment and the branch instruction. This is because we used to split the inner latch at the induction variable increment instruction. Since now we have split at the inner latch branch instruction and have properly duplicated instructions over to the split block, we remove this limitation. Please refer to the test case updates to see how we now interchange loops where instructions exist between the induction variable increment and the branch instruction. Reviewed By: bmahjour Differential Revision: https://reviews.llvm.org/D115238
-
Petr Hosek authored
glibc versions < 2.26 use different names for the fields. However the layout is unchanged, so using the offset should be a portable way to address this issue across platforms. Fixes: https://github.com/llvm/llvm-project/issues/53014 Patch By: paulkirth Differential Revision: https://reviews.llvm.org/D116695
-
Dave Lee authored
Add a convenience for appending constructed string values. Differential Revision: https://reviews.llvm.org/D116682
-
Lang Hames authored
ExecutorAddr is the preferred representation for executor process addresses now.
-
Lang Hames authored
We don't need to restrict operations on ExecutorAddrDiff as carefully as we do for ExecutorAddr.
-
Dave Lee authored
The current help for `frame variable` is somewhat long. Its length, combined with the few aliases (`var`, `v`, and `vo`) can make the output of `apropos` redundant and noisy. This separates out the details into a separate long help. Differential Revision: https://reviews.llvm.org/D116708
-
Jim Lin authored
Let each format of inst have two tests for it like other MxCMP testcases.
-
William S. Moses authored
Add 5 simple folders * bitcast(x : T0, T0) -> x * addrcast(x : T0, T0) -> x * bitcast(bitcast(x : T0, T1), T0) -> x * addrcast(addrcast(x : T0, T1), T0) -> x * gep %x:T, 0 -> %x:T Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D116715
-
Jim Lin authored
-
Mogball authored
Extra definitions are placed in the generated source file for each op class. The substitution `$cppClass` is replaced by the op's C++ class name. This is useful when declaring but not defining methods in TableGen base classes: ``` class BaseOp<string mnemonic> : Op<MyDialect, mnemonic, [DeclareOpInterfaceMethods<SomeInterface>] { let extraClassDeclaration = [{ // ZOp is declared at at the bottom of the file and is incomplete here ZOp getParent(); }]; let extraClassDefinition = [{ int $cppClass::someInterfaceMethod() { return someUtilityFunction(*this); } ZOp $cppClass::getParent() { return dyn_cast<ZOp>(this->getParentOp()); } }]; } ``` Certain things may prevent defining these functions inline, in the declaration. In this example, `ZOp` in the same dialect is incomplete at the function declaration because ops classes are declared in alphabetical order. Alternatively, functions may be too big to be desired... -
Craig Topper authored
Many codegen pass require this pass with useful triple info. Legacy pass manager need to add a TargetLibraryInfo with the module info before run passes. Or the TargetLibraryInfo will be initialized too conservative. Reviewed By: pengfei, aeubanks Differential Revision: https://reviews.llvm.org/D115850
-
Yuanfang Chen authored
CMake may add /Debug in the CONFIG-specific flag. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D116710
-
Shilei Tian authored
The async data movement can cause data race if the target supports it. Details can be found in [1]. This patch tries to fix this problem by attaching an event to the entry of data mapping table. Here are the details. For each issued data movement, a new event is generated and returned to `libomptarget` by calling `createEvent`. The event will be attached to the corresponding mapping table entry. For each data mapping lookup, if there is no need for a data movement, the attached event has to be inserted into the queue to gaurantee that all following operations in the queue can only be executed if the event is fulfilled. This design is to avoid synchronization on host side. Note that we are using CUDA terminolofy here. Similar mechanism is assumped to be supported by another targets. Even if the target doesn't support it, it can be easily implemented in the following fall back way: - `Event` can be any kind of flag that has at least two status, 0 and 1. - `waitEvent` can directly busy loop if `Event` is still 0. My local test shows that `bug49334.cpp` can pass. Reference: [1] https://bugs.llvm.org/show_bug.cgi?id=49940 Reviewed By: grokos, JonChesterfield, ye-luo Differential Revision: https://reviews.llvm.org/D104418
-
Egor Zhdan authored
This change makes it possible to extract iOS-to-another-platform version mappings from `VersionMap` in the `SDKSettings.json` file in Darwin SDKs, for example, `iOS_watchOS` and `iOS_tvOS`. This code was originally authored by Alex Lorenz. rdar://81491680 Differential Revision: https://reviews.llvm.org/D116615
-