- Jun 05, 2020
-
-
Sander de Smalen authored
This patch updates TargetLoweringBase::computeRegisterProperties and TargetLoweringBase::getTypeConversion to support scalable vectors, and make the right calls on how to legalise them. These changes are required to legalise both MVTs and EVTs. Reviewers: efriedma, david-arm, ctetreau Reviewed By: efriedma Tags: #llvm Differential Revision: https://reviews.llvm.org/D80640
-
serge-sans-paille authored
Differential Revision: https://reviews.llvm.org/D81228
-
serge-sans-paille authored
Differential Revision: https://reviews.llvm.org/D81231
-
serge-sans-paille authored
Differential Revision: https://reviews.llvm.org/D81233
-
serge-sans-paille authored
Differential Revision: https://reviews.llvm.org/D81232
-
serge-sans-paille authored
Differential Revision: https://reviews.llvm.org/D81226
-
serge-sans-paille authored
Differential Revision: https://reviews.llvm.org/D81234
-
Kadir Cetinkaya authored
-
Louis Dionne authored
-
Max Kazantsev authored
This reverts commit c4b5a66e. Returning along with Clang test fix
-
serge-sans-paille authored
Differential Revision: https://reviews.llvm.org/D81235
-
serge-sans-paille authored
Differential Revision: https://reviews.llvm.org/D81240
-
Kazushi (Jam) Marukawa authored
Summary: Add regression tests of asmparser, mccodeemitter, and disassembler for branch instructions. In order to support them, we enhance asmparser by adding splitting mnemonic mechanism, e.g. "bgt.l.t" into "b", "gt", and ".l.t", and parsing mechanism for AS style memory addressing. We also implment encoding and decoding mechanism for branch instructions. Differential Revision: https://reviews.llvm.org/D81215
-
Simon Pilgrim authored
These have been there since the header was added by D51491 but afaict without an implementation, all functionality is actually in DivergenceAnalysis
-
Simon Pilgrim authored
Move implicit include dependencies down to source files.
-
Simon Pilgrim authored
-
Ties Stuij authored
Summary: This patch is part of a series that adds support for the Bfloat16 extension of the Armv8.6-a architecture, as detailed here: https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a The bfloat type and its properties are specified in the Arm Architecture Reference Manual: https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile The following people contributed to this patch: - Luke Cheeseman - Momchil Velikov - Luke Geeson - Ties Stuij - Mikhail Maltsev Reviewers: t.p.northover, sdesmalen, fpetrogalli, LukeGeeson, stuij, labrinea Reviewed By: labrinea Subscribers: miyuki, dmgreen, labrinea, kristof.beyls, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79710
-
Guillaume Chatelet authored
Summary: We first migrate the generated code, more patches to come. 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 Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81196
-
madhur13490 authored
Reviewers: t-tye, arsenm Reviewed By: arsenm Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81247
-
Louis Dionne authored
Before this patch, we tried detecting whether small atomics were available without linking against libatomic. However, that's not really what we want to know -- instead, we want to know what's required in order to support atomics fully, which is to link against libatomic when it's provided. That is both much simpler, and it doesn't suffer the problem that we would not link against libatomic when small atomics didn't require it, which lead to non-lockfree atomics never working. Furthermore, because we understand that some platforms might not want to (or be able to) ship non-lockfree atomics, we add that notion to the test suite, independently of a potential extern library. After this patch, we therefore: (1) Link against libatomic when it is provided (2) Independently detect whether non-lockfree atomics are supported in the test suite, regardless of whether that means we're linking against an external library or not (which is an implementation detail). Differential Revision: https://reviews.llvm.org/D81190 -
Ties Stuij authored
Summary: This patch adds the bfloat16_t struct typedefs (e.g. bfloat16x8x2_t) to arm_neon.h This patch is part of a series implementing the Bfloat16 extension of the Armv8.6-a architecture, as detailed here: https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-architecture-developments-armv8-6-a The bfloat type, and its properties are specified in the Arm Architecture Reference Manual: https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile The following people contributed to this patch: - Luke Cheeseman - Simon Tatham - Ties Stuij Reviewers: t.p.northover, fpetrogalli, sdesmalen, az, LukeGeeson Reviewed By: fpetrogalli Subscribers: SjoerdMeijer, LukeGeeson, pbarrio, mgorny, kristof.beyls, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79708
-
HazemAbdelhafez authored
Add support for flat, location, and noperspective decorations in the serializer and deserializer to be able to process basic shader files for graphics applications. Differential Revision: https://reviews.llvm.org/D80837
-
Denis Antrushin authored
-
Nicolas Vasilache authored
Recently introduced allocation hoisting is quite conservative on the cases when it triggers. This revision makes it such that the allocations for vector transfer lowerings are hoisted to the top of the function. This should be revisited in the context of parallelism and is a temporary workaround. Differential Revision: https://reviews.llvm.org/D81253
-
Dineshkumar Bhaskaran authored
Summary: Added "not equal to" operator for DocNode comparison Reviewers: arsenm, scott.linder, saiislam Reviewed By: saiislam Subscribers: wdng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81250
-
Joachim Protze authored
The feature was removed before upstreaming Archer, so the documentation is wrong
-
Ties Stuij authored
Summary: The poly64 types are guarded with ifdefs for AArch64 only. This is wrong. This was also incorrectly documented in the ACLE spec, but this has been rectified in the latest release. See paragraph 13.1.2 "Vector data types": https://developer.arm.com/docs/101028/latest This patch was written by Alexandros Lamprineas. Reviewers: ostannard, sdesmalen, fpetrogalli, labrinea, t.p.northover, LukeGeeson Reviewed By: ostannard Subscribers: pbarrio, LukeGeeson, kristof.beyls, danielkiss, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79711
-
Denis Antrushin authored
Current implementation of emitPatchpoint() is very inefficient: for every FrameIndex operand if creates new MachineInstr with that operand expanded and all other copied as is. Since PATCHPOINT/STATEPOINT instructions may have *a lot* of FrameIndex operands, we end up creating and erasing many machine instructions. But we can do it in single pass, with only one new machine instruction generated. Reviewed By: reames Differential Revision: https://reviews.llvm.org/D81181
-
Tom Weaver authored
* Adds DexLimitSteps Command. * Add ConditionalController, a new DebuggerController type. * 5 regression tests * documentation * recommit, fixed accidental adding of unnecessary file Reviewers: jmorse Differential Revision: https://reviews.llvm.org/D79786
-
Stefan Pintilie authored
Calls that are marked as @notoc do not require the extra nop after the call for the TOC restore. Differential Revision: https://reviews.llvm.org/D81081
-
Nicolas Vasilache authored
-
Kerry McLaughlin authored
Summary: This patch adds legalisation of extensions where the operand of the extend is a legal scalable type but the result is not. EXTRACT_SUBVECTOR is used to split the result, before being replaced by target-specific [S|U]UNPK[HI|LO] operations. For example: ``` zext <vscale x 16 x i8> %a to <vscale x 16 x i16> ``` should emit: ``` uunpklo z2.h, z0.b uunpkhi z1.h, z0.b ``` Reviewers: sdesmalen, efriedma, david-arm Reviewed By: efriedma Subscribers: tschuett, hiraditya, rkruppe, psnobl, huihuiz, cfe-commits, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79587
-
Kadir Cetinkaya authored
This reverts commit 16b7eb6d. Breaks build bots, see http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/29888 for an example.
-
Kadir Cetinkaya authored
To unbreak builds that happen on a read-only directory
-
Stefan Pintilie authored
Modify the pcrel.ll test file to add more testing for PC Relative.
-
Nicolas Vasilache authored
This revision adds a helper function to hoist vector.transfer_read / vector.transfer_write pairs out of immediately enclosing scf::ForOp iteratively, if the following conditions are true: 1. The 2 ops access the same memref with the same indices. 2. All operands are invariant under the enclosing scf::ForOp. 3. No uses of the memref either dominate the transfer_read or are dominated by the transfer_write (i.e. no aliasing between the write and the read across the loop) To improve hoisting opportunities, call the `moveLoopInvariantCode` helper function on the candidate loop above which to hoist. Hoisting the transfers results in scf::ForOp yielding the value that originally transited through memory. This revision additionally exposes `moveLoopInvariantCode` as a helper in LoopUtils.h and updates SliceAnalysis to support return scf::For values and allow hoisting across multiple scf::ForOps. Differential Revision: https://reviews.llvm.org/D81199
-
Xing GUO authored
-
Kadir Cetinkaya authored
-
Max Kazantsev authored
We can simplify ``` icmp <pred> phi(C1, C2, ...), C ``` with ``` phi(icmp(C1, C), icmp(C2, C), ...) ``` provided that all comparison of constants are constants themselves. Differential Revision: https://reviews.llvm.org/D81151 Reviewed By: lebedev.ri
-
Kadir Cetinkaya authored
Forward declaring llvm::errs is not enough, as it is used as a default parameter with a type that references the base class. So the class hierarchy must be visible.
-