- Aug 23, 2021
-
-
Cullen Rhodes authored
Split out from D107903 to remove dependency for D108039 and D108279. Reviewed By: paulwalker-arm Differential Revision: https://reviews.llvm.org/D108293
-
Michael Kruse authored
Code outside the SCoP will be executed recardless of the code versioning runtime check introduced by CodeGeneration. Assumption made based on that these are never executed in Polly-optimized code does not hold. This fixes the miscompilation of MultiSource/Applications/lambda-0.1.3
-
Siva Chandra Reddy authored
A corresponding adjustment to mtx_lock has also been made.
-
Min-Yih Hsu authored
Cleanup the formats of the MC tests that were just migrated. NFC
-
Min-Yih Hsu authored
Migrate some MOVE instruction MC tests from test/CodeGen/M68k. Unfortunately the tests touched in this commit were failed due to lacking of the `abs.W` operand, which forces any memory address parsed from assembly being represented in 32-bits. We're temporarily allowing these unwanted widening in the tests until the support for `abs.W` is there.
-
Siva Chandra Reddy authored
These functions will be used in a future patch to implement trigonometric functions. Unit tests have been added but to the libc-long-running-tests suite. The unit tests long running because we compare against MPFR computations performed at 1280 bits of precision. Some cleanups or elimination of repeated patterns can be done as follow up changes. Differential Revision: https://reviews.llvm.org/D104817
-
Shilei Tian authored
-
Kai Luo authored
This is the first step to enable PPC64 support huge frame size(>2G). Also fix an assertion error for frame size, i.e.,`int x; !isInt<32>(x);` should be always evaluated false, so the guard code for frame size is impossible to hit. Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D107435
-
Michael Kruse authored
The new pass manager does not allow adding module passes at the -polly-position=before-vectorizer extension point. Introduce a DumpFunctionPass that dumps only current function. In contrast to the legacy pass manager's -polly-dump-before, each function will be dumped into its own file. -polly-dump-before-file is still not supported. The DumpFunctionPass uses llvm::CloneModule to copy the current function into a new module and then write it into a file.
-
Stella Laurenzo authored
* This is the native data layout for PyTorch and npcomp was using the prior version before cleanup. Differential Revision: https://reviews.llvm.org/D108527
-
Stella Laurenzo authored
Also adds banners to the files with update instructions. Differential Revision: https://reviews.llvm.org/D108529
-
Stella Laurenzo authored
* Resolves a TODO by making this configurable by downstreams. * This seems to be the last thing allowing full use of the Python bindings as a library within another project (i.e. be embedding them). Differential Revision: https://reviews.llvm.org/D108523
-
Nikita Popov authored
This test was not modifying the pointer in the loop, so the loads just ended up as undef, without relation to loop load PRE. Pass the alloca to the called function, so the memory is potentially modified.
-
Nikita Popov authored
4ad41902 changed this code to propagate Changed if scalar GEP PRE is performed. However, as implemented this would skip the load PRE entirely if GEP indices were PREd. Make sure load PRE runs even if Changed is already true. This likely has no functional effect as load PRE would then occur on a later GVN iteration.
-
Amy Kwan authored
It is possible that libatomic does not exist on some systems. This patch updates the scudo standalone tests to link against libatomic if the library exists. This is an update to the original patch: https://reviews.llvm.org/D64134 and aims to resolve https://bugs.llvm.org/show_bug.cgi?id=51431. Differential Revision: https://reviews.llvm.org/D108503
-
Philip Reames authored
-
Philip Reames authored
This special cases an unconditional latch and a conditional branch latch exit to improve codegen and test readability. I am hoping to reuse this function in the runtime unroll code, but without this change, the test diffs are far too complex to assess.
-
Simon Pilgrim authored
combineMul is now used for other things as well as the mul-with-constant expansion - move the comment to where its actually relevant.
-
Alexey Lapshin authored
verifyDieRanges function checks for the intersected address ranges. It adds child DieRangeInfo into parent DieRangeInfo to check whether children have overlapping address ranges. It is safe to not add DieRangeInfo with empty address range into parent's children list. This decreases the number of children which should be navigated and as a result decreases execution time(parents having a lot of children with empty ranges spend much time navigating them). For this command: "llvm-dwarfdump --verify clang-repl" execution time decreased from 220 sec till 75 sec. Differential Revision: https://reviews.llvm.org/D107554
-
Kazu Hirata authored
The corresponding definition has been missing for at least 5 years.
-
- Aug 22, 2021
-
-
Arthur O'Dwyer authored
When `_Compare` is a function parameter already (so it's not `void` and it's not an abominable function type), `add_lvalue_reference_t<_Compare>` is simply a synonym for `_Compare&`. We don't need to pull in `<type_traits>` and instantiate a template trait to figure that out. Differential Revision: https://reviews.llvm.org/D108400
-
Nikita Popov authored
The pattern matched here is too complex for the general logical and/or to bitwise and/or conversion to trigger. However, the fold is poison-safe, so match it with a select root as well: https://alive2.llvm.org/ce/z/vNzzSg https://alive2.llvm.org/ce/z/Beyumt
-
Nikita Popov authored
We currently only handle this with a bitwise and/or instruction, but not a logical.
-
Simon Pilgrim authored
Extend matchShuffleAsBlend to not only match against known in-place elements for BLEND shuffles, but use isElementEquivalent to determine if the shuffle mask's referenced element is the same as the in-place element. This allows us to replace a number of insertps instructions with more general blendps instructions (better opportunities for commutation, concatenation etc.).
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Also replace X32 with X86 check prefixes for i686 tests (we tend to try to use X32 for gnux32 targets)
-
Simon Pilgrim authored
Before lowering shuffles, see if we can merge horizontal ops or canonicalize the shuffle mask to point to the same LHS/RHS of the HOps when an HOp's args are repeated.
-
Sanjay Patel authored
This is part of solving more general rotate patterns seen in bugs related to: https://llvm.org/PR51575 https://alive2.llvm.org/ce/z/GpkFCt
-
Sanjay Patel authored
This is part of solving more general rotate patterns seen in bugs related to: https://llvm.org/PR51575 https://alive2.llvm.org/ce/z/fjKwqv
-
Sanjay Patel authored
-
Simon Pilgrim authored
Broadwell is mainly a die shrink of Haswell, but the model had many of the scheduling classes in different orders, making side-by-side comparisons very difficult. The InstRW overrides are still quite different, but at least that part of the side-by-side diff is now in the same position. This was noticed while I was trying to investigate diffs between llvm-mca and other perf analyzers in https://uica.uops.info/ - we used to be able to do diffs between most of the models very easily, but we seem to have lost that simplicity as classes have been altered, models have been refined and other models have rotted.
-
Sanjay Patel authored
The motivation was to get min/max intrinsics to parity with cmp+select idioms, but this unlocks a few more folds because isFreeToInvert recognizes add/sub with constants too. In the min/max example, we have too many extra uses for smaller folds to improve things, but this fold is able to eliminate uses even though we can't reduce the number of instructions.
-
Simon Pilgrim authored
Don't pass the struct by value.
-
Florian Hahn authored
Adjusting the reduction recipes still relies on references to the original IR, which can become outdated by the first-order recurrence handling. Until reduction recipe construction does not require IR references, move it before first-order recurrence handling, to prevent a crash as exposed by D106653.
-
Ben Shi authored
Reviewed by: lebedev.ri, spatel, craig.topper, luismarques, jrtc27 Differential Revision: https://reviews.llvm.org/D107711
-
luxufan authored
This patch supported the R_X86_64_32S relocation and add the Pointer32Signed generic edge kind. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D108446
-
Lang Hames authored
-
Lang Hames authored
Renames the blobSerializationRoundTrip test helper function to spsSerializationRoundTrip ('blob' was the placeholder name for the serialization scheme during prototyping, this function was missed when renaming everything for the mainline). Also drops explicit template arguments at call sites where they can be inferred (and are obvious) from the call argument type. -
Wang, Pengfei authored
Enable FP16 unary operator instructions. Ref.: https://software.intel.com/content/www/us/en/develop/download/intel-avx512-fp16-architecture-specification.html Reviewed By: LuoYuanke Differential Revision: https://reviews.llvm.org/D105267
-
Lang Hames authored
Should fix bot failure at https://green.lab.llvm.org/green/job/clang-stage2-Rthinlto/4367
-