- Mar 16, 2020
-
-
Stefanos Baziotis authored
-
Artem Belevich authored
-
Feng Liu authored
Summary: This regional op in the QuantOps dialect will be used to wrap high-precision ops into atomic units for quantization. All the values used by the internal ops are captured explicitly by the op inputs. The quantization parameters of the inputs and outputs are stored in the attributes. Subscribers: jfb, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75972
-
Craig Topper authored
-
Benjamin Kramer authored
-
River Riddle authored
MSVC is unable to deduce template types when the type involves auto.
-
Siva Chandra Reddy authored
Also, add config.mk file which will help test the implementations in the "math" directory for x86_64 with a simple "make check".
-
Nico Weber authored
This reverts commit 45555c38. Causes clang crashes in some causes, see comments on https://reviews.llvm.org/D75815 for details (including repro steps).
-
Kristof Beyls authored
This adds the Arm Optimized Routines (see https://github.com/ARM-software/optimized-routines) source code under the the LLVM license. The version of the code provided in this patch is v20.02 of the Arm Optimized Routines project. This entire contribution is being committed as is even though it does not currently fit the LLVM libc model and does not follow the LLVM coding style. In the near future, implementations from this patch will be moved over to their right place in the LLVM-libc tree. This will be done over many small patches, all of which will go through the normal LLVM code review process. See this libc-dev post for the plan: http://lists.llvm.org/pipermail/libc-dev/2020-March/000044.html Differential revision of the original upload: https://reviews.llvm.org/D75355
-
River Riddle authored
-
Francesco Petrogalli authored
Summary: Intrinsics and relative codegen has been implemented for the following SVE instructions: 1. PRF<T> <prfop>, <Pg>, [<Xn|SP>, <Zm>.S, <mod>] -> 32-bit scaled offset 2. PRF<T> <prfop>, <Pg>, [<Xn|SP>, <Zm>.D, <mod>] -> 32-bit unpacked scaled offset 3. PRF<T> <prfop>, <Pg>, [<Xn|SP>, <Zm>.D] -> 64-bit scaled offset 4. PRF<T> <prfop>, <Pg>, [<Zn>.S{, #<imm>}] -> 32-bit element 5. PRF<T> <prfop>, <Pg>, [<Zn>.D{, #<imm>}] -> 64-bit element The instructions are associated the following intrinsics, respectively: 1. void @llvm.aarch64.sve.gather.prf<T>.scaled.<mod>.nx4vi32( i8* %base, <vscale x 4 x i32> %offset, <vscale x 4 x i1> %Pg, i32 %prfop) 2. void @llvm.aarch64.sve.gather.prf<T>.scaled.<mod>.nx2vi32( i8* %base, <vscale x 2 x i32> %offset, <vscale x 2 x i1> %Pg, i32 %prfop) 3. void @llvm.aarch64.sve.gather.prf<T>.scaled.nx2vi64( i8* %base, <vscale x 2 x i64> %offset, <vscale x 2 x i1> %Pg, i32 %prfop) 4. void @llvm.aarch64.sve.gather.prf<T>.nx4vi32( <vscale x 4 x i32> %bases, i64 %imm, <vscale x 4 x i1> %Pg, i32 %prfop) 5. void @llvm.aarch64.sve.gather.prf<T>.nx2vi64( <vscale x 2 x i64> %bases, i64 %imm, <vscale x 2 x i1> %Pg, i32 %prfop) The intrinsics are the IR counterpart of the following SVE ACLE functions: * void svprf<T>(svbool_t pg, const void *base, svprfop op) * void svprf<T>_vnum(svbool_t pg, const void *base, int64_t vnum, svprfop op) * void svprf<T>_gather[_u32base](svbool_t pg, svuint32_t bases, svprfop op) * void svprf<T>_gather[_u64base](svbool_t pg, svuint64_t bases, svprfop op) * void svprf<T>_gather_[s32]offset(svbool_t pg, const void *base, svint32_t offsets, svprfop op) * void svprf<T>_gather_[u32]offset(svbool_t pg, const void *base, svint32_t offsets, svprfop op) * void svprf<T>_gather_[s64]offset(svbool_t pg, const void *base, svint64_t offsets, svprfop op) * void svprf<T>_gather_[u64]offset(svbool_t pg, const void *base, svint64_t offsets, svprfop op) * void svprf<T>_gather[_u32base]_offset(svbool_t pg, svuint32_t bases, int64_t offset, svprfop op) * void svprf<T>_gather[_u64base]_offset(svbool_t pg, svuint64_t bases,int64_t offset, svprfop op) Reviewers: andwar, sdesmalen, efriedma, rengolin Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75580
-
Huihui Zhang authored
Summary: Skip folds that rely on DataLayout::getTypeAllocSize(). For scalable vector, only minimal type alloc size is known at compile-time. Reviewers: sdesmalen, efriedma, spatel, apazos Reviewed By: efriedma Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75892
-
Matt Arsenault authored
This was creating natural aligned loads and stores, which may not be the case. The target could request a wider type load with less alignment.
-
Matt Arsenault authored
-
Marcel Hlopko authored
Summary: Copy of https://reviews.llvm.org/D72089 with Ilya's permission. See https://reviews.llvm.org/D72089 for the first batch of comments. Reviewers: gribozavr2 Reviewed By: gribozavr2 Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D76220
-
Nico Weber authored
Makes tests fail on Windows, see https://reviews.llvm.org/D70720#1924542 This reverts commit 3a5ddeda, and follow-ups: f4cb9c91 042eb048 c0cf5f5d 18649f48 f62b898c
-
Simon Pilgrim authored
Add optional support for opt-in partial reduction cases by providing an optional partial mask to indicate which elements have been extracted for the scalar reduction.
-
Matt Arsenault authored
This would hit an assertion from trying to use the wrong bitwidth for the constants.
-
Nemanja Ivanovic authored
This test case fails due to different handling of weak items between LLD and LD on PPC. The issue only occurs when the default linker is LLD and the test case is run on a system where ASLR is enabled.
-
Matt Arsenault authored
We were letting G_ANYEXT with a vcc register bank through, which was incorrect and would select to an invalid copy. Fix this up like G_ZEXT and G_SEXT. Also drop old code to fixup the non-boolean case in RegBankSelect. We now have to perform that expansion during selection, so there's no benefit to doing it during RegBankSelect.
-
Matt Arsenault authored
Fixes integers that don't evenly divide to i32 pieces. We should probably extract some of the code in the legalizer to start handling argument breakdowns. I'm dissatisfied with the argument lowering's handling of vectors for example, and we should not be producing the weird G_EXTRACTs we do now.
-
Casey Carter authored
...to properly silence clang deprecation warnings in `test/std/utilities/meta/meta.trans/meta.trans.other/result_of11.pass.cpp`.
-
Tom Weaver authored
Summary: It's possible for an instance of the visual studio debugger to return a NoneType line number location when stepping during a debugging session. This patches teaches DexTer how to handle this particular case without crashing out. Reviewers: Orlando Differential revision: https://reviews.llvm.org/D75992
-
Juneyoung Lee authored
-
Matt Arsenault authored
The result is better if ftrunc is emitted and separately legalized when unavailable.
-
Haojian Wu authored
Summary: Previously, the range for "->" CXXOperatorCallExpr is the range of the class object (not including the operator!), e.g. "[[vector_ptr]]->size()". This patch includes the range of the operator, which fixes the issue where clangd doesn't go to the overloaded operator "->" definition. Reviewers: sammccall Reviewed By: sammccall Subscribers: ilya-biryukov, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D76128
-
Haojian Wu authored
This reverts commit ddd20ed1. The patch was landed by accident.
-
Ilya Biryukov authored
To group the code in one place, simplify it and make it easier to add the containsErrors bit and find existing bugs.
-
Jonas Devlieghere authored
The GDB replay server sanity-checks that every packet it receives matches what it expects from the serialized packet log. This mechanism tripped for TestReproducerAttach.py on Linux, because one of the packets (jModulesInfo) uses run-length encoding. The replay server was comparing the expanded incoming packet with the unexpanded packet in the log. As a result, it claimed to have received an unexpected packet, which caused the test to fail. This patch addresses that issue by expanding the run-length encoding before comparing the packets. Differential revision: https://reviews.llvm.org/D76163
-
Matt Arsenault authored
I used the implementation for floor instead of round. It also turns out the OpenCL builtin library wasn't using the round builtin, but implemented the expanded form.
-
Nico Weber authored
This reverts commit 85462aef and follow-up 8d6582aa. 8b409eab was reverted.
-
Raphael Isemann authored
The nullptr check here was removed in 4ef50a33 when I replaced (nearly) all log->Print to LLDB_LOG calls (which automatically check for this stuff). But it seems this one call escaped my sed call. Currently working on a test that can cover this code path but we can revert this until I have found one.
-
Dominik Montada authored
Summary: Add lowering support for inserting pointers or scalars into scalars, vectors or pointers Reviewers: arsenm, dsanders Reviewed By: arsenm Subscribers: jvesely, wdng, nhaehnle, rovka, hiraditya, volkan, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75994
-
Sander de Smalen authored
This reverts commit 8b409eab. Reverting this patch for now because it breaks some buildbots.
-
Adrian Prantl authored
-
Guillaume Chatelet authored
This reverts commit adc2e250.
-
Matt Arsenault authored
We allow up to 1024-bit registers, so we should support merges all the way to the maximum.
-
Fangrui Song authored
Follow-up for D74433 What the function returns are almost standard BFD names, except that "ELF" is in uppercase instead of lowercase. This patch changes "ELF" to "elf" and changes ARM/AArch64 to use their BFD names. MIPS and PPC64 have endianness differences as well, but this patch does not intend to address them. Advantages: * llvm-objdump: the "file format " line matches GNU objdump on ARM/AArch64 objects * "file format " line can be extracted and fed into llvm-objcopy -O literally. (https://github.com/ClangBuiltLinux/linux/issues/779 has such a use case) Affected tools: llvm-readobj, llvm-objdump, llvm-dwarfdump, MCJIT (internal implementation detail, not exposed) Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D76046
-
LLVM GN Syncbot authored
-
Nico Weber authored
-