- Apr 06, 2021
-
-
Florian Hahn authored
For VPWidenPHIRecipes that model all incoming values as VPValue operands, print those operands instead of printing the original PHI. D99294 updates recipes of reduction PHIs to use the VPValue for the incoming value from the loop backedge, making use of this new printing.
-
Dmitry Preobrazhensky authored
Corrected SMEM decoding when IMM=0 and OFFSET>127 Fixed bug 49819 (https://bugs.llvm.org/show_bug.cgi?id=49819) Differential Revision: https://reviews.llvm.org/D99804
-
Dominik Montada authored
Remove the find_package(Python3 ...) call from Tooling/CMakeLists.txt as it would override the python 3 version determined in llvm/CMakeLists.txt. This call did not respect the LLVM_MINIMUM_PYTHON_VERSION. This fixes the check-all target when building LLVM on a system where the default python version is not the minimum required version for running tests. Reviewed By: serge-sans-paille Differential Revision: https://reviews.llvm.org/D99715
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D99847
-
Simon Pilgrim authored
After rG47321c311bdbe0145b9bf45d822185c37b19fa50 we promote vXi8 reductions to vXi16 to create a much faster PMULLW mul reduction, followed by a (free) truncation. This avoids the high cost of repeated vXi8 multiplications (which extend+multiply+truncate to/from vXi16 types....). Fixes the missing vXi8 mul reduction vectorization in PR42674 (Comment #20) 'mul16' test case.
-
Jay Foad authored
-
Alexander Belyaev authored
These changes were required after https://github.com/llvm/llvm-project/commit/5f57793c4fe47aa3486a755768b43189351cbd15 Differential Revision: https://reviews.llvm.org/D99937
-
David Spickett authored
Partially reverts 04dbb634. This test requires 9be8f8b3 which is/has been reverted a few times but this test was left enabled. Currently that change is reverted and this test is failing: http://lab.llvm.org:8011/#/builders/7/builds/2327
-
Zakk Chen authored
Reviewed By: HsiangKai Authored-by:
Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by:
Zakk Chen <zakk.chen@sifive.com> Differential Revision: https://reviews.llvm.org/D99610
-
Zakk Chen authored
Support below instructions. 1. Vector Integer Add-with-Carry / Subtract-with-Borrow Instructions 2. Vector Integer Comparison Instructions 3. Vector Widening Integer Multiply-Add Instructions Reviewed By: HsiangKai Authored-by:
Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by:
Zakk Chen <zakk.chen@sifive.com> Differential Revision: https://reviews.llvm.org/D99528
-
Zakk Chen authored
Reviewed By: HsiangKai Authored-by:
Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by:
Zakk Chen <zakk.chen@sifive.com> Differential Revision: https://reviews.llvm.org/D99527
-
Zakk Chen authored
Reviewed By: craig.topper Authored-by:
Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by:
Zakk Chen <zakk.chen@sifive.com> Differential Revision: https://reviews.llvm.org/D99525
-
Zakk Chen authored
1. Rename RVVBinBuiltin to RVVOutputOp1Builtin because it is not related to the number of operand. 2. Add RVV Integer instuctions which use RVVOutputOp1Builtin. Reviewed By: craig.topper Authored-by:
Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by:
Zakk Chen <zakk.chen@sifive.com> Differential Revision: https://reviews.llvm.org/D99524
-
David Spickett authored
Use a with block for reading the cpuinfo file. When loading the file fails (or we're not on Linux) return an empty string. Since all the callers are going to do "x in self.getCPUInfo()". Reviewed By: omjavaid Differential Revision: https://reviews.llvm.org/D99729
-
Thomas Preud'homme authored
LLVM test CodeGen/AArch64/aarch64-tbz.ll tries to check for the absence of a sequence of instructions with several CHECK-NOT with one of those directives using a variable defined in another. However CHECK-NOT are checked independently so that is using a variable defined in a pattern that should not occur in the input. This commit removes the definition and uses of variable to check each line independently, making the check stronger than the current one. It also removes unnecessary regex match for labels. Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D99602
-
Simon Pilgrim authored
This is a mixture of instcombine/simplfycfg/instcombine to recognise and then remove the abs pattern
-
madhur13490 authored
This patch enhances hasAddressTaken() to ignore bitcasts as a callee in callbase instruction. Such bitcast usage doesn't really take the address in a useful meaningful way. Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D98884
-
Simon Pilgrim authored
As promised in D98866
-
Balázs Kéri authored
It is possible that an entry in 'DestroyRetVal' lives longer than an entry in 'LockMap' if not removed at checkDeadSymbols. The added test case demonstrates this. Reviewed By: NoQ Differential Revision: https://reviews.llvm.org/D98504
-
Sjoerd Meijer authored
It is generally beneficial to prefer "movi d0, #0" over "fmov s0, wzr" as this is most efficient across all cores; it is recognised as a zeroing idiom. For newer cores, fmov instructions can also be eliminated early and there is no difference with movi, but some implementations lack this so is not true for other/older cores. Thus this standardises on using movi as this should always gives the same or better performance than the fmov with wzr. Differential Revision: https://reviews.llvm.org/D99586
-
Jan Svoboda authored
In D84673, we started using `DiagnosticsEngine` during command-line parsing in more contexts. When using `ToolInvocation`, a custom `DiagnosticsConsumer` can be specified and it might expect `SourceManager` to be present on the emitted diagnostics. This patch ensures the `SourceManager` is set up in such scenarios. Test authored by Jordan Rupprecht. Reviewed By: rupprecht Differential Revision: https://reviews.llvm.org/D99414
-
Kiran Chandramohan authored
This reverts commit 8c7bf2f9.
-
Sam Parker authored
-
Sjoerd Meijer authored
This was using the .2d variant which zeros 128 bits, but using the .2s variant that zeros 64 bits is faster on some cores. This is a prep step for D99586 to always using movi for zeroing floats. Differential Revision: https://reviews.llvm.org/D99710
-
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D99647
-
Jan Svoboda authored
The '-plugin-arg' command-line arguments are not being generated in deterministic order. This patch changes the storage from `std::unordered_map` to `std::map` to enforce ordering. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D99879
-
Yevgeny Rouban authored
Fixes commit 39e3e3aa: Redesign of PreserveCFG Checker
-
Yevgeny Rouban authored
The reason for the NewPM redesign is described in the commit cba3e783: [NewPM] Disable PreservedCFGChecker ... The checker introduces an internal custom CFG analysis that tracks current up-to date CFG snapshot. The analysis is invalidated along any other CFG related analysis (the key is CFGAnalyses). If the CFG analysis is not invalidated at a functional pass exit then the checker asserts that the CFG snapshot taken from this analysis is equals to a snapshot of the current CFG. Along the way: - the function CFG::printDiff() is simplified by removing function name calculation. The name is printed by the caller; - fixed CFG invalidated condition (see CFG::invalidate()); - StandardInstrumentations::registerCallbacks() gets additional optional parameter of type FunctionAnalysisManager*, which is needed by the checker to get the custom CFG analysis; - several PM related tests updated to explicitly set -verify-cfg-preserved=1 as they need. This patch is safe to land as the CFGChecker is left switched off (the options -verify-cfg-preserved is false by default). It will be switched on by a separate patch to minimize possible reverts. Reviewed By: skatkov, kuhar Differential Revision: https://reviews.llvm.org/D91327
-
Geoffrey Martin-Noble authored
Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D99922
-
Serguei Katkov authored
[Statepoint] Factor-out utility function to get non-foldable area of STATEPOINT like instructions. NFC Reviewers: reames, dantrushin Reviewed By: reames Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D99875
-
Yevgeny Rouban authored
Change several pass sequence sensitive tests to be indifferent to the PreserveCFGChecker by explicitly settting the option -verify-cfg-preserved=0. It is a preparation step that allows a redesign of PreserveCFGChecker. Reviewed By: skatkov Differential Revision: https://reviews.llvm.org/D99878
-
Craig Topper authored
I missed a few intrinsics in 3dd4aa7d when I did this for masked loads and masked segment loads/stores. Found while trying to share more code between these custom isel functions.
-
Philip Reames authored
-
Arthur Eubanks authored
When we are able to SROA an alloca, we know all uses of it, meaning we don't have to preserve the invariant group intrinsics and metadata. It's possible that we could lose information regarding redundant loads/stores, but that's unlikely to have any real impact since right now the only user is Clang and vtables. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D99760
-
Philip Reames authored
Use that fact to improve isKnownNonEqual.
-
patacca authored
Polly use algorithms from the Integer Set Library (isl), which is a library written in C and which is incompatible with the rest of the LLVM as it is written in C++. Changes made: - Refactoring isInnermost() to take C++ bindings instead of the plain isl C api. - Addition of manage_copy() when needed to get the reference for the isl_ast_node object Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D99841
-
Christopher Di Bella authored
Including `<concepts>` in other standard library headers (such as `<iterator>`) creates circular dependencies due to `<functional>`. Since `<concepts>` only needs `std::invoke` from `<functional>`, the easiest, fastest, and cleanest way to eliminate the circular dep is to move `std::invoke` into `__functional_base`. This has the added advantage of `<concepts>` not transitively importing `<functional>`. Differential Revision: https://reviews.llvm.org/D99041
-
Philip Reames authored
-
Jim Ingham authored
This reverts commit 602ab188. The patch replicated an lldbassert for a certain type of NSNumber for tagged pointers. This really shouldn't be an assert since we don't do anything wrong with these numbers, we just don't print a summary. So this patch changed the lldbassert to a log message in reverting the revert.
-
Stanislav Mekhanoshin authored
Fixes: SWDEV-280070 Differential Revision: https://reviews.llvm.org/D99902
-