- Jul 02, 2020
-
-
Guillaume Chatelet authored
By rewritting `ScalarizerVisitor::getVectorLayout` in such a way it returns `VectorLayout` (or `None`) it becomes obvious that `VectorLayout::VecAlign` cannot be `0`. This patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Differential Revision: https://reviews.llvm.org/D82981
-
Kerry McLaughlin authored
Reviewers: sdesmalen, efriedma, david-arm Reviewed By: efriedma Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, danielkiss, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82985
-
Simon Pilgrim authored
As noticed on PR46531
-
Simon Pilgrim authored
-
Anna Welker authored
This patch enables the LoopVectorizer to build a phi of pointer type and provide the vector loads and stores with vector type getelementptrs built from the pointer induction variable, which produces much less instructions than the previous approach of creating scalar getelementpointers and glue them together to a vector. Differential Revision: https://reviews.llvm.org/D81267
-
Roman Lebedev authored
It surprizingly appears to be affected by the last SCEV patch
-
Roman Lebedev authored
Summary: While InstCombine trivially converts that `srem` into a `urem`, it might happen later than wanted, in particular i'd like for that to happen on https://godbolt.org/z/bwuEmJ test case early in pipeline, before first instcombine run, just before `-mem2reg`. SCEV should recognize this case natively. Reviewers: mkazantsev, efriedma, nikic, reames Reviewed By: efriedma Subscribers: clementval, hiraditya, javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82721
-
David Green authored
-
LLVM GN Syncbot authored
-
David Sherwood authored
I have added CHECK lines to the following tests: llvm/test/CodeGen/AArch64/sve-breakdown-scalable-vectortype.ll llvm/test/CodeGen/AArch64/sve-calling-convention-tuple-types.ll llvm/test/CodeGen/AArch64/sve-intrinsics-create-tuple.ll llvm/test/CodeGen/AArch64/sve-intrinsics-loads.ll since they are now free of warnings related to invalid use of EVT::getVectorNumElements() and VectorType::getNumElements(). Differential Revision: https://reviews.llvm.org/D82957
-
Ben Dunbobbin authored
Differential Revision: https://reviews.llvm.org/D82542
-
Nuno Lopes authored
-
Jay Foad authored
-
Sander de Smalen authored
There was a rogue 'assert' in AArch64ISelLowering for the tuple.get intrinsics, that shouldn't really have been there (I suspect this was a remnant from when we expected the wider vector always to have come from a vector CONCAT). When I tried to create a more minimal reproducer, I found a bug in DAGCombiner where it drops the scalable flag when trying to fold: extract_subv (bitcast X), Index --> bitcast (extract_subv X, Index') This patch fixes both issues. Reviewers: david-arm, efriedma, spatel Reviewed By: efriedma Tags: #llvm Differential Revision: https://reviews.llvm.org/D82910
-
Sander de Smalen authored
Reviewers: kmclaughlin, c-rhodes, efriedma Reviewed By: efriedma Tags: #llvm Differential Revision: https://reviews.llvm.org/D82909
-
Qiu Chaofan authored
-
Nicholas Guy authored
Move the Thumb2SizeReduce pass to before IfConversion when optimising for minimal code size. Running the Thumb2SizeReduction pass before IfConversionallows T1 instructions to propagate to the final output, rather than the ifConverter modifying T2 instructions and preventing them from being reduced later. This change does introduce a regression regarding execution time, so it's only applied when optimising for size. Running the LLVM Test Suite with this change produces a geomean difference of -0.1% for the size..text metric. Differential Revision: https://reviews.llvm.org/D82439
-
David Sherwood authored
Whilst trying to assemble the following test: clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c I discovered we were hitting some warnings about possible invalid calls to getVectorNumElements() in getCopyToPartsVector(). I've tried to fix these by using ElementCount types where possible and I've made the assumption that we don't support using a fixed width vector to copy parts of a scalable vector, and vice versa. Looking at how the copy is implemented I think that's the right thing for now. Differential Revision: https://reviews.llvm.org/D82744
-
Craig Topper authored
The default CPU used by llvm-mc doesn't have the NOPL feature, but if we know we're compiling in 64-bit mode we should be able to use nopl.
-
Krzysztof Pszeniczny authored
This patch uses ranges for debug information when a function contains basic block sections rather than using [lowpc, highpc]. This is also the first in a series of patches for debug info and does not contain the support for linker relaxation. That will be done as a follow up patch. Differential Revision: https://reviews.llvm.org/D78851
-
Pushpinder Singh authored
Summary: If amdgpu-flat-work-group-size is not specified in LLVM IR, the backend uses default value of 1024. For this, minimum waves per EU should be 4. However, backend is still setting minimum value to 1 instead of calculated value. This is not observed normally as frontend always provide amdgpu-flat-work-group-size attribute. Reviewers: rampitec, b-sumner, sameerds, msearles Reviewed By: rampitec Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81991
-
Biplob Mishra authored
Implement Vector Shift Double Bit Immediate Builtins in LLVM/Clang. * vec_sldb (); * vec_srdb (); Differential Revision: https://reviews.llvm.org/D82440
-
Valentin Clement authored
Summary: This patch is removing the custom enumeration for OpenMP Directives and Clauses and replace them with the newly tablegen generated one from llvm/Frontend. This is a first patch and some will follow to share the same infrastructure where possible. The next patch should use the clauses allowance defined in the tablegen file. Reviewers: jdoerfert, DavidTruby, sscalpone, kiranchandramohan, ichoyjx Reviewed By: DavidTruby, ichoyjx Subscribers: jholewinski, cfe-commits, dblaikie, MaskRay, ymandel, ichoyjx, mgorny, yaxunl, guansong, jfb, sstefan1, aaron.ballman, llvm-commits Tags: #llvm, #flang, #clang Differential Revision: https://reviews.llvm.org/D82906
-
Xiang1 Zhang authored
Summary: INTEL ADVANCED MATRIX EXTENSIONS (AMX). AMX is a new programming paradigm, it has a set of 2-dimensional registers (TILES) representing sub-arrays from a larger 2-dimensional memory image and operate on TILES. Spec can be found in Chapter 3 here https://software.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html Reviewers: LuoYuanke, annita.zhang, pengfei, RKSimon, xiangzhangllvm Reviewed By: xiangzhangllvm Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82705
-
Lei Huang authored
-
Anil Mahmud authored
Exploits the VSX Vector Splat Immediate Word and VSX Vector Splat Immediate Double Precision instructions: xxspltiw XT,IMM32 xxspltidp XT,IMM32 Differential Revision: https://reviews.llvm.org/D82911
-
Roman Lebedev authored
-
Matt Arsenault authored
This fixes extra copies when materializing constants in AGPRs. This made it a lot harder to trigger the spilling in spill-agpr.ll
-
Matt Arsenault authored
-
Matt Arsenault authored
I have no idea why this is considered optional, or why it's not the default. Also add uses of the copied registers for more useful liveness testing.
-
Stanislav Mekhanoshin authored
Allow only up to 1/4 of available VGPRs for the vectorization of any given alloca. Differential Revision: https://reviews.llvm.org/D82990
-
clementval authored
This reverts commit 7f1e7767.
-
Roman Lebedev authored
Much like 25521150, but with division instead of remainder. See https://reviews.llvm.org/D82721
-
Craig Topper authored
Looks like lld tests need updates too This reverts commit 3367e9da.
-
- Jul 01, 2020
-
-
Ben Shi authored
-
Nikita Popov authored
Move this test from InstCombine into InstSimplify.
-
Sergey Dmitriev authored
Summary: This patch changes call graph analysis to recognize callback call sites and add an artificial 'reference' call record from the broker function caller to the callback function in the call graph. A presence of such reference enforces bottom-up traversal order for callback functions in CG SCC pass manager because callback function logically becomes a callee of the broker function caller. Reviewers: jdoerfert, hfinkel, sstefan1, baziotis Reviewed By: jdoerfert Subscribers: hiraditya, kuter, sstefan1, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82572
-
Tony authored
- Add reference to implicit conversion description.
-
Valentin Clement authored
Summary: This patch is removing the custom enumeration for OpenMP Directives and Clauses and replace them with the newly tablegen generated one from llvm/Frontend. This is a first patch and some will follow to share the same infrastructure where possible. The next patch should use the clauses allowance defined in the tablegen file. Reviewers: jdoerfert, DavidTruby, sscalpone, kiranchandramohan, ichoyjx Reviewed By: DavidTruby, ichoyjx Subscribers: ichoyjx, mgorny, yaxunl, guansong, jfb, sstefan1, aaron.ballman, llvm-commits Tags: #llvm, #flang Differential Revision: https://reviews.llvm.org/D82906
-
Craig Topper authored
[X86] Speculatively apply the same fix from 361853c9 to PromoteIntOp_MGATHER. The UpdateNodeOperands here is also subject to CSE.
-