- Jan 06, 2022
-
-
Peixin-Qiao authored
This supports the following checks for THREADPRIVATE Directive: ``` [5.1] 2.21.2 THREADPRIVATE Directive A threadprivate variable must not appear in any clause except the copyin, copyprivate, schedule, num_threads, thread_limit, and if clauses. ``` This supports the following checks for DECLARE TARGET Directive: ``` [5.1] 2.14.7 Declare Target Directive A threadprivate variable cannot appear in the directive. ``` Besides, procedure name and the entity with PARAMETER attribute cannot be in the threadprivate directive. The main program name and module name cannot be in the threadprivate directive and declare target directive. There is no clear description or restriction about the entity with PARAMETER attribute in OpenMP 5.1 Specification, and a warning is given. Reviewed By: kiranchandramohan, shraiysh, NimishMishra Differential Revision: https://reviews.llvm.org/D114941
-
Florian Hahn authored
This patch updates SCEVExpander::expandUnionPredicate to not create redundant 'or false, x' instructions. While those are trivially foldable, they can be easily avoided and hinder code that checks the size/cost of the generated checks before further folds. I am planning on look into a few other similar improvements to code generated by SCEVExpander. I remember a while ago @lebedev.ri working on doing some trivial folds like that in IRBuilder itself, but there where concerns that such changes may subtly break existing code. Reviewed By: reames, lebedev.ri Differential Revision: https://reviews.llvm.org/D116696
-
Andrew Ng authored
Add CMake variable LLVM_EXTERNAL_PROJECT_BUILD_TOOL_ARGS to allow arguments to be passed to the native tool used in CMake --build invocations for external projects. Can be used to pass extra arguments for enhanced versions of build tools, e.g. distributed build options. Differential Revision: https://reviews.llvm.org/D115815
-
David Green authored
-
Prashant Kumar authored
This commits adds division normalization in the `getDivRepr` function which extracts the gcd from the dividend and divisor and normalizes them. Signed-off-by:
Prashant Kumar <pk5561@gmail.com> Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D115595
-
Nikita Popov authored
Add a test with a noalias call that is not a known allocation function.
-
Markus Böck authored
This patch allows the usage of the normalDestOperands and unwindDestOperands operands of llvm.invoke and have them be correctly mapped to phis in the successor when exported to LLVM IR. Differential Revision: https://reviews.llvm.org/D116706
-
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.
-