- May 07, 2020
-
-
Sergej Jaskiewicz authored
This reverts commit 67175d8d. https://reviews.llvm.org/D78200 has been reverted, so our bot is red. Make it green by turning off std::filesystem.
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D79558
-
Anna Welker authored
Enables the MVEGatherScatterLowering pass to build pre-incrementing gathers. Incrementing writeback gathers are built when it is possible to replace the loop increment instruction. Differential Revision: https://reviews.llvm.org/D76786
-
Sander de Smalen authored
This patch adds builtins for arithmetic shift right (round towards zero) instructions for zeroing (_z) and undef (_x) predication.
-
Sander de Smalen authored
This patch adds builtins for: - svadrb, svadrh, svadrw, svadrd
-
Sander de Smalen authored
-
Sander de Smalen authored
This patch adds builtins for: - svrdffr, svrdffr_z - svsetffr - svwrffr
-
Sander de Smalen authored
This patch adds builtins for saturating add/sub instructions: - svqadd, svqadd_n - svqsub, svqsub_n and builtins for dot product instructions: - svdot, svdot_lane
-
Kazushi (Jam) Marukawa authored
Remove unnecessary EncoderMethod and DecoderMethod which cause errors in supporting MC layer. Differential Revision: https://reviews.llvm.org/D79544
-
Kazushi (Jam) Marukawa authored
Summary: Correct instruction bitfield addresses to generate machine code correctly. Also add some variables to represent all instructions correctly and change default values to use registers by default. Differential Revision: https://reviews.llvm.org/D79539
-
Lucas Prates authored
Summary: Conflicting types for the same section name defined in clang section pragmas and GNU-style section attributes were not properly captured by Clang's Sema. The lack of diagnostics was caused by the fact the section specification coming from attributes was handled by Sema as implicit, even though explicitly defined by the user. This patch enables the diagnostics for section type conflicts between those specifications by making sure sections defined in section attributes are correctly handled as explicit. Reviewers: hans, rnk, javed.absar Reviewed By: rnk Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78573
-
Lucas Prates authored
Summary: Section names used in clang section pragmas were not validated against previously defined sections, causing section type conflicts to be ignored by Sema. This patch enables Clang to capture these section type conflicts by using the existing Sema's UnifySection method to validate section names from clang section pragmas. Reviewers: hans, rnk, javed.absar Reviewed By: rnk Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78572
-
Sander de Smalen authored
This patch adds builtins for: - sveorbt - sveortb - svpmul - svpmullb, svpmullb_pair - svpmullt, svpmullt_pair The svpmullb and svpmullt builtins are expressed using the svpmullb_pair and svpmullt_pair LLVM IR intrinsics, respectively. Reviewers: SjoerdMeijer, efriedma, rengolin Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D79480
-
Sjoerd Meijer authored
With 3 llvm regr tests fixed/updated that I had missed.
-
Adam Czachorowski authored
Summary: We used getEnclosingNamespaceContext(), which calls getParent() rather than getLexicalParent(), so we would end up adding the "using" line in places that do not affect the cursor location, or just return an error when declaration was in another file. Patch by Adam Czachorowski! Reviewers: hokein Reviewed By: hokein Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79496
-
Kerry McLaughlin authored
Summary: Adds AArch64ISD nodes for: - SHL_PRED (logical shift left) - SHR_PRED (logical shift right) - SRA_PRED (arithmetic shift right) Existing patterns for unpredicated left shift by immediate have also been moved into the appropriate multiclasses in SVEInstrFormats.td. Reviewers: sdesmalen, efriedma, ctetreau, huihuiz, rengolin Reviewed By: efriedma Subscribers: huihuiz, tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79478
-
Alex Zinenko authored
This functionality was introduced in a87db48e but only only tested indirectly though Linalg tests. Add direct tests.
-
Alex Zinenko authored
Adds a test exercising the rewriting pattern in the test dialect that calls OperationFolder.create.
-
Alex Zinenko authored
Originally, these operations were folded only if all expressions in their affine maps could be folded to a constant expression that can be then subject to numeric min/max computation. This introduces a more advanced version that partially folds the affine map by lifting individual constant expression in it even if some of the expressions remain variable. The folding can update the operation in place to use a simpler map. Note that this is not as powerful as canonicalization, in particular this does not remove dimensions or symbols that became useless. This allows for better composition of Linalg tiling and promotion transformation, where the latter can handle some canonical forms of affine.min that the folding can now produce. Differential Revision: https://reviews.llvm.org/D79502
-
Kadir Cetinkaya authored
Summary: Depends on D78740. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D78743
-
LLVM GN Syncbot authored
-
Jay Foad authored
-
Carl Ritson authored
Summary: Add DAG scheduling mutation to cluster export instructions. This avoids unnecessary waitcnts being added when computation ends up interspersed with exports. Reviewers: foad, arsenm, rampitec, nhaehnle Reviewed By: foad Subscribers: kzhuravl, jvesely, wdng, mgorny, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79481
-
Carl Ritson authored
Test shows unnecessary s_waitcnt between shader exports.
-
Wen-Heng (Jack) Chung authored
ROCLD -> ROCDL. Differential Revision: https://reviews.llvm.org/D79441
-
Alex Zinenko authored
In the Vector to LLVM conversion, the `replaceTransferOp` function calls into a type converter that may fail and suppresses the status. Change the function to return the failure status instead, Since it is called from a pattern, the failure can be readily propagated to the rest of infrastructure.
-
Wen-Heng (Jack) Chung authored
When emitting masked load / store, set alignment from data layout. Differential Revision: https://reviews.llvm.org/D79246
-
Kerry McLaughlin authored
Summary: This patch handles illegal scalable types when lowering IR operations, addressing several places where the value of isScalableVector() is ignored. For types such as <vscale x 8 x i32>, this means splitting the operations. In this example, we would split it into two operations of type <vscale x 4 x i32> for the low and high halves. In cases such as <vscale x 2 x i32>, the elements in the vector will be promoted. In this case they will be promoted to i64 (with a vector of type <vscale x 2 x i64>) Reviewers: sdesmalen, efriedma, huntergr Reviewed By: efriedma Subscribers: david-arm, tschuett, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78812
-
Yevgeny Rouban authored
Splitting critical edges for indirect branches the SplitIndirectBrCriticalEdges() function may break branch probabilities if target basic block happens to have unset a probability for any of its successors. That is because in such cases the getEdgeProbability(Target) function returns probability 1/NumOfSuccessors and it is called after Target was split (thus Target has a single successor). As the result the correspondent successor of the split block gets probability 100% but 1/NumOfSuccessors is expected (or better be left unset). Reviewers: yamauchi Differential Revision: https://reviews.llvm.org/D78806
-
Sjoerd Meijer authored
This reverts commit 617aa64c. while I investigate buildbot failures.
-
Sjoerd Meijer authored
If tail-folding of the scalar remainder loop is applied, the primary induction variable is splat to a vector and used by the masked load/store vector instructions, thus the IV does not remain scalar. Because we now mark that the IV does not remain scalar for these cases, we don't emit the vector IV if it is not used. Thus, the vectoriser produces less dead code. Thanks to Ayal Zaks for the direction how to fix this. Differential Revision: https://reviews.llvm.org/D78911
-
Sam Parker authored
-
Haojian Wu authored
Reviewers: gribozavr2 Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79494
-
David Sherwood authored
When calculating the natural alignment for scalable vectors it is acceptable to calculate an allocation size based on the minimum number of elements in the vector. This code path is exercised by an existing test: CodeGen/AArch64/sve-intrinsics-int-arith.ll Differential Revision: https://reviews.llvm.org/D79475
-
Craig Topper authored
We're truncating so the extra bits will be discarded.
-
Craig Topper authored
[X86] Add test cases for missed opportunity to match pmulh from multiplies with elements larger than i32. We currently look for vXi32 sext/zext to match PMULH, but it doesn't matter how many extra bits above i32 there are.
-
Uday Bondhugula authored
The list of destination load ops while evaluating producer-consumer fusion wasn't being maintained as a set, and as such, duplicate load ops were being added to it. Although this is harmless correctness-wise, it's a killer efficiency-wise and it prevents interesting/useful fusions (including for eg. reshapes into a matmul). The reason the latter fusions would be missed is that a slice union would be unnecessarily needed due to the duplicate load ops on a memref added to the 'dst loads' list. Since slice union is unimplemented for the local var case, a single destination load op that leads to local vars (like a floordiv / mod producing fusion), a common case, would not get fused due to an unnecessary union being tried with itself. (The union would actually be the same thing but we would bail out.) Besides the above, this would also significantly speed up fusion as all the unnecessary slice computations / unions, checks, etc. due to the duplicates go away. Differential Revision: https://reviews.llvm.org/D79547
-
Med Ismail Bennani authored
The source file used to test Objective-C data-formatters didn't respected any formatting (mixed tab and spaces, lines exceed column 80, etc...). This patch reformats the file using clang-format to make it easier to work with. Signed-off-by:Med Ismail Bennani <medismail.bennani@gmail.com>
-
Jonas Devlieghere authored
Fix DWARFLinker.cpp:2538:5: error: call to 'sort' is ambiguous.
-
Craig Topper authored
I missed this case when I did the same for gather results and scatter operands in c69a4d6b.
-