- Jan 06, 2022
-
-
Simon Pilgrim authored
Provides an early-out if we fail to find an AllocaInst, and avoids a static analyzer warning about null dereferencing.
-
Simon Pilgrim authored
-
Matthias Springer authored
This does not work if BufferizationState is passed around as a const reference in most places. Differential Revision: https://reviews.llvm.org/D116741
-
Vy Nguyen authored
(parial)fixes PR/53026 Differential Revision: https://reviews.llvm.org/D116718
-
Alexey Bataev authored
-
Alexey Bataev authored
-
Nikita Popov authored
This enforces the LangRef change from D116531 in the Verifier, now that clang and tests have been updated.
-
Simon Pilgrim authored
Fix static analysis warning by using cast<> instead of dyn_cast<> as both isa<> and isGuaranteedToExecuteForEveryIteration expect a non-null Instruction pointer.
-
Nikita Popov authored
This is the autoupgrade part of D116531. If old bitcode is missing the elementtype attribute for indirect inline asm constraints, automatically add it. As usual, this only works when upgrading in typed mode, we haven't figured out upgrade in opaque mode yet.
-
Nicolas Vasilache authored
Differential Revision: https://reviews.llvm.org/D116739
-
Fanbo Meng authored
z/OS doesn't support fopen64() functions. Modify the preprocessor directive for z/OS to use fopen() instead. Reviewed By: #libc, abhina.sreeskantharajan, muiez, ldionne Differential Revision: https://reviews.llvm.org/D111226
-
Arjun P authored
Initialize some variables to zero to avoid a warning about them possibly being used uninitialized. In actuality, they will never be used before initialization.
-
Nikita Popov authored
The comments here were outdated and a bit confusing without the knowledge that we're only guarding against reads on unwind.
-
Arjun P authored
-
Nikita Popov authored
When determining whether the memory is local to the function (and we can thus introduce spurious writes without thread-safety issues), check for a noalias call rather than the hardcoded list of memory allocation functions. Noalias calls are the more general way to determine allocation functions, as long as we're only interested in the property that the returned value is distinct from any other accessible memory. Differential Revision: https://reviews.llvm.org/D116728
-
Nikita Popov authored
This updates LLVM tests for D116531 by adding elementtype attributes to operands that correspond to indirect asm constraints.
-
Sander de Smalen authored
This addresses a suggestion by @nikic on D115356.
-
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
-