- Feb 08, 2023
-
-
Jonathon Penix authored
If the only user of the Alloca argument provided to getPromotableAlloca() is the same as the Call argument, StoreValue is never set and results in an assertion failure that isa<> was used on a nullptr when passed into getCandidateConstant(). This was originally seen when trying to build SPEC 2006 416.gamess using flang with lto enabled. Differential Revision: https://reviews.llvm.org/D143457
-
Florian Hahn authored
The test contained a unused load that appears unrelated to the test (store of vector of i1). Remove it to avoid test changes in follow-up change which will lead to dead loads being removed.
-
Adrian Prantl authored
since headers were moved into the lib/ directory.
-
Ziqing Luo authored
Use clang fix-its to transform declarations of local variables, which are used for buffer access , to be of std::span type. We placed a few limitations to keep the solution simple: - it only transforms local variable declarations (no parameter declaration); - it only considers single level pointers, i.e., pointers of type T * regardless of whether T is again a pointer; - it only transforms to std::span types (no std::array, or std::span::iterator, or ...); - it can only transform a VarDecl that belongs to a DeclStmt whose has a single child. One of the purposes of keeping this patch simple enough is to first evaluate if fix-it is an appropriate approach to do the transformation. Reviewed by: NoQ, jkorous Differential revision: https://reviews.llvm.org/D139737
-
Samuel authored
There are a few more uses of CallGraph that should be replaced with LazyCallGraph Also delete legacy version of RPOFunctionAttrs since it is deprecated and LazyCallGraph is not available under the legacy pass manager. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D143358
-
yavtuk authored
We need to search referenced section based on relocations symbol section to properly match end section symbols. For example on some binaries we can observe that init_array_end/fini_array_end might be "placed" in to the gap and since no section could be found for address the relocation would be skipped resulting in wrong ADRP imm after emitting new text resulting in binary sigsegv. Credits for the test to Vladislav Khmelevskii aka yota9.
-
Fangrui Song authored
-
Fangrui Song authored
-
Bill Wendling authored
The interfaces for designators (i.e. C99 designated initializers) was done in two slightly different ways. This was rather wasteful as the differences could be combined into one. Reviewed By: rsmith Differential Revision: https://reviews.llvm.org/D140584
-
Guillaume Chatelet authored
-
Arthur Eubanks authored
These are part of the optimization pipeline, of which the legacy pass manager version is deprecated. Namely * Internalize * StripSymbols * StripNonDebugSymbols * StripDeadDebugInfo * StripDeadPrototypes * VectorCombine * WarnMissedTransformations Fixed previously failing ocaml tests (one of them seems to already be failing?)
-
Guillaume Chatelet authored
-
Guillaume Chatelet authored
-
Vladislav Dzhidzhoev authored
Clamp the max number of elements of s8/s16 vectors when legalizing G_ADD, G_SUB, G_MUL, G_AND, G_OR, G_XOR, in order to support some wide vectors. Fixes https://github.com/llvm/llvm-project/issues/58156. Differential Revision: https://reviews.llvm.org/D143517
-
Joshua Batista authored
Add codegen for llvm log2 / log10 elementwise builtin The log2/log10 elementwise builtin is necessary for HLSL codegen. Tests were added to make sure that the expected errors are encountered when these functions are given inputs of incompatible types. The new builtins are restricted to floating point types only. Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D143207
-
Amir Ayupov authored
-
Diego Caballero authored
Reviewed By: gysit Differential Revision: https://reviews.llvm.org/D143449
-
Fazlay Rabbi authored
Deprecate and diagnose uses of the 'destroy' clauses without an argument in 'omp depobj' directives. Differential Revision: https://reviews.llvm.org/D143021
-
Diego Caballero authored
1-D multi-reductions follow a different lowering path (they are converted to 2-D multi-reductions) so masked variants need to be supported explicitly. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D143453
-
Jan Sjodin authored
This is the first patch of several that will enable generating code for AMD GPUs. It adds the AMDGPU target so it can be used with the --target and -mcpu options. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D143102
-
Siva Chandra Reddy authored
This part of the effort to make all test related pieces into the `test` directory. This helps is excluding test related pieces in a straight forward manner if LLVM_INCLUDE_TESTS is OFF. Future patches will also move the MPFR wrapper and testutils into the 'test' directory.
-
Dustin Howett authored
Serialization of tokens is required when PCH is used with late parsed templates, including annotation tokens used for pragmas. This patch implements the serialization for annot_pragma_pack. Fixes https://github.com/llvm/llvm-project/issues/60543 Differential Revision: https://reviews.llvm.org/D143410
-
Philip Reames authored
-
Ashay Rane authored
If a test executes quickly or if the timing resolution is too coarse, the running time associated with a test could be zero. This happens often for the //llvm/utils/lit/tests/reorder.py test on Windows, which causes the test to fail non-deterministically. This patch modifies the existing check, so that instead of skipping zeros, lit now skips if the timing is None (presumably due to an error in measurement). Recurring executions of the reorder.py test on Windows seem to indicate that the test no longer exhibits occasional failure. Reviewed By: stella.stamenova Differential Revision: https://reviews.llvm.org/D143504
-
David Green authored
This adjusts the performUADDVCombine to recurse further into adds from reductions, which can help produce more UADDLP when the order of lanes is unimportant. It also prevents some regressions from subsequent patches.
-
Philip Reames authored
Doing so makes it easier to do printf style debugging in idiomatic manner. I followed the code structure of Value with only the definition of dump being #ifdef out in non-debug builds. Not sure if this is the "right" option; we don't seem to have any single consistent scheme on how dump is handled. Note: This is a follow up to D143454 which did the same for EVT. Differential Revision: https://reviews.llvm.org/D143511
-
Nick Desaulniers authored
If this successor list is not correct, then branch-folding may incorrectly think that the indirect target is dead and remove it. This results in a dangling reference to the removed block as an operand to the INLINEASM_BR, which later will get AsmPrinted into code that doesn't assemble. This was made more obvious by, but is not a regression of https://reviews.llvm.org/D130316. Fixes: https://github.com/llvm/llvm-project/issues/60346 Reviewed By: efriedma, void Differential Revision: https://reviews.llvm.org/D142924
-
Nick Desaulniers authored
Link: https://github.com/llvm/llvm-project/issues/60346 Reviewed By: efriedma, void Differential Revision: https://reviews.llvm.org/D142923
-
Paul Walker authored
Just a rerun of update_cc_test_checks.py to capture some changes to variable names after their reliance on instcombine was removed.
-
Simon Pilgrim authored
[X86] combineX86ShufflesRecursively - peek through insert_subvector(undef, x, 0) vector widening nodes If the node is inert then just peek through it and canonicalize the shuffle mask to ensure any referenced upper elements are set to undef.
-
Arthur Eubanks authored
This reverts commit a4b4f62b. Ocaml bindings tests failing.
-
Nicolas Vasilache authored
-
Nicolas Vasilache authored
-
Arthur Eubanks authored
These are part of the optimization pipeline, of which the legacy pass manager version is deprecated. Namely * Internalize * StripSymbols * StripNonDebugSymbols * StripDeadDebugInfo * StripDeadPrototypes * VectorCombine * WarnMissedTransformations
-
Simon Pilgrim authored
-
Joseph Huber authored
This patch introduces startup code for executing `main` on a device compiled for the GPU. We will primarily use this to run standalone integration tests on the GPU. The actual execution of this routine will need to be provided by a `loader` utility to bootstrap execution on the GPU. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D143212
-
Jan Svoboda authored
We no longer support GCC 5.1 (D122976), so let's remove the workaround in FileEntry. Reviewed By: benlangmuir Differential Revision: https://reviews.llvm.org/D143427
-
Jan Svoboda authored
D140176 introduced new `FullDeps` API that's not thread-safe, breaking the class invariant. This was causing race condition when `clang-scan-deps` was run with multiple threads. Reviewed By: steven_wu, akyrtzi Differential Revision: https://reviews.llvm.org/D143428
-
Krzysztof Parzyszek authored
-
Simon Pilgrim authored
combineX86ShuffleChain no longer needs the candidate shuffle inputs to all have been widened to root size, but combineX86ShuffleChainWithExtract still assumes that they have. This refactor peeks through all inputs' extract_subvector nodes to find the widest legal vector type and widens the shuffle mask accordingly - it no longer bails if any of the inputs can't be widened to the new width. combineX86ShuffleChainWithExtract now follows a similar process to combineX86ShufflesRecursively, so I think we should eventually be able to get rid of it and just let combineX86ShufflesRecursively handle widening the shuffle width as well. Another step toward removing subvector widening for Issue #45319
-