- Mar 23, 2020
-
-
Sanjay Patel authored
-
John Brawn authored
This makes it possible for plugin attributes to actually do something, and also removes a lot of boilerplate for simple attributes in SemaDeclAttr.cpp. Differential Revision: https://reviews.llvm.org/D31342
-
Jonas Paulsson authored
Replace single-lane (W... form) vector "multiply and add" and "multiply and subtract" instructions with equivalent floating point instructions whenever possible in SystemZShortenInst. Review: Ulrich Weigand Differential Revision: https://reviews.llvm.org/D76370
-
Guillaume Chatelet authored
Summary: This is 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 Reviewers: courbet Subscribers: hiraditya, rogfer01, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76542
-
Guillaume Chatelet authored
Summary: This is 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 Reviewers: courbet Subscribers: dylanmckay, sdardis, nemanjai, hiraditya, kbarton, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, Jim, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76551
-
Simon Pilgrim authored
-
Florian Hahn authored
-
James Henderson authored
If the section headers have been removed by a tool such as llvm-objcopy or llvm-strip, previously llvm-readobj/llvm-readelf would not dump the dynamic symbols when --dyn-symbols was specified. However, the nchain value of the DT_HASH data specifies the number of dynamic symbols, so if it is present, we can use that. This patch implements this behaviour. Fixes https://bugs.llvm.org/show_bug.cgi?id=45089. Reviewed by: grimar, MaskRay Differential Revision: https://reviews.llvm.org/D76352
-
Simon Pilgrim authored
As detailed on PR43513, we can simplify: ctpop(x | -x) -> bitwidth - cttz(x, false) Alive2: http://volta.cs.utah.edu:8080/z/caw49X ctpop(~x & (x - 1)) -> cttz(x, false) Alive2: http://volta.cs.utah.edu:8080/z/5zfVrx I've tweaked the initial test cases I added at rG2d712fb7 to increase commutativity testing. Differential Revision: https://reviews.llvm.org/D76568
-
Momchil Velikov authored
There's inconsistency in handling array types between the `distributeFunctionTypeAttrXXX` functions and the `FunctionTypeUnwrapper` in `SemaType.cpp`. This patch lets `FunctionTypeUnwrapper` apply function type attributes through array types. Differential Revision: https://reviews.llvm.org/D75109
-
Christian Sigg authored
Reduce amount of boiler plate to register host memory. Summary: Fix all-reduce int tests by host-registering memrefs. Reviewers: herhut Reviewed By: herhut Subscribers: clementval, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76563
-
Guillaume Chatelet authored
Summary: This is 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 Reviewers: courbet Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76368
-
Simon Pilgrim authored
The doc is suggesting that a mul-by-2 is the same as a ashr-by-1 instead of shl-by-1 Differential Revision: https://reviews.llvm.org/D76566
-
Whisperity authored
Differential Revision: https://reviews.llvm.org/D76541
-
Jay Foad authored
-
Sam Parker authored
When decided whether to generate a post-inc load/store, look at the other memory nodes that use the same base address and, if any proceed the current node, then don't do the combine. The change only seems to be affecting the Arm backend, which I was surprised at, but it appears to fix a lot of our issues around MVE masked load/stores having to store a temporary address after an early post-increment on a shared base address. Differential Revision: https://reviews.llvm.org/D75847
-
Sam Parker authored
Extract the decision to combine into a post-inc address into a couple of functions to make the logic more clear and re-usable. Differential Revision: https://reviews.llvm.org/D76060
-
Dominik Montada authored
Summary: Widening G_UNMERGE_VALUES to a type which is larger than the original source type is the same as widening it to the same type as the source type: in both cases, G_UNMERGE_VALUES has to be replaced with bit arithmetic which. Although the arithmetic itself is independent of whether the source type is smaller or equal to the widen type, widening the source type to the widen type should result in less artifacts being emitted, since this is the type that the user explicitly requested. Reviewers: arsenm, dsanders, aemerson, aditya_nandakumar Reviewed By: arsenm, dsanders Subscribers: jvesely, wdng, nhaehnle, rovka, hiraditya, volkan, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76494
-
Fangrui Song authored
-
Alex Brachet authored
Summary: Fixes problem reported in D74397#1935863 Reviewers: nathanchance, gchatelet, sivachandra, MaskRay Reviewed By: sivachandra, MaskRay Subscribers: mgorny, MaskRay, tschuett Differential Revision: https://reviews.llvm.org/D76577
-
David Blaikie authored
Buildbot debugging of 0d0b9010 (lambda/function_ref lifetime issues) This is failing on several buildbots with some inexplicable (to me, right now) crashes. Let's see if this change is adequate to unblock the buildbots & further understanding can be gained later.
-
Juneyoung Lee authored
-
Qiu Chaofan authored
This patch adds a test file, covering outputs when some operands in FMA is negative.
-
Uday Bondhugula authored
Move some of the affine transforms and their test cases to their respective dialect directory. This patch does not complete the move, but takes care of a good part. Renames: prefix 'affine' to affine loop tiling cl options, vectorize -> super-vectorize Signed-off-by:
Uday Bondhugula <uday@polymagelabs.com> Differential Revision: https://reviews.llvm.org/D76565
-
Uday Bondhugula authored
This is in line with the convention agreed on https://llvm.discourse.group/t/rfc-canonical-file-paths-to-dialects/621 Signed-off-by:
Uday Bondhugula <uday@polymagelabs.com> Differential Revision: https://reviews.llvm.org/D76583
-
David Blaikie authored
This fix doesn't seem to be right (function_ref can/should be passed by value) so I'm reverted it to see if the buildbots decide to explain what's wrong. This reverts commit 857bf5da.
-
David Blaikie authored
-
Craig Topper authored
createPSADBW uses SplitsOpsAndApply so should be able to handle any size. Restrict the extract result type to i32 or i64 since that's what we have coverage for today and probably matches what the isSimple() check gave us before. Differential Revision: https://reviews.llvm.org/D76560
-
Sylvestre Ledru authored
-
Sylvestre Ledru authored
-
Florian Hahn authored
-
Sylvestre Ledru authored
-
Craig Topper authored
This patch attempts to more accurately model the reduction of power of 2 vectors of types we natively support. This takes into account the narrowing of vectors that occur as we go from 512 bits to 256 bits, to 128 bits. It also takes into account the use of wider elements in the shuffles for the first 2 steps of a reduction from 128 bits. And uses a v8i16 shift for the final step of vXi8 reduction. The default implementation uses the legalized type for the arithmetic for all levels. And uses the single source permute cost of the legalized type for all levels. This penalizes things like lack of v16i8 pshufb on pre-sse3 targets and the splitting and joining that needs to be done for integer types on AVX1. We never need v16i8 shuffle for a reduction and we only need split AVX1 ops when type the type wide and needs to be split. I think we're still over costing splits and joins for AVX1, but we're closer now. I've also removed all pairwise special casing because I don't think we ever want to generate that on X86. I've also adjusted the add handling to more accurately account for any type splitting that occurs before we reach a legal type. Differential Revision: https://reviews.llvm.org/D76478
-
Sylvestre Ledru authored
-
Simon Atanasyan authored
This directive inserts code to add $gp to the argument's register when support for position independent code is enabled. For example, this code: .cpadd $4 expands to: addu $4, $4, $gp
-
Simon Atanasyan authored
The `sne Dst, Src1, Src2/Imm` pseudo instruction sets register `Dst` to 1 if register `Src1` is not equal to `Src2/Imm` and to 0 otherwise.
-
Simon Atanasyan authored
The `sle/sleu Dst, Src1, Src2/Imm` pseudo instructions set register `Dst` to 1 if register `Src1` is less than or equal `Src2/Imm` and to 0 otherwise.
-
Simon Atanasyan authored
-
Simon Atanasyan authored
-
Simon Atanasyan authored
-