- Sep 06, 2021
-
-
Sanjay Patel authored
-
Sanjay Patel authored
The transform doesn't check for extra uses, so we have more instructions than we started with.
-
Ivan Zhechev authored
To enable Flang testing on Windows, shell scripts have to be ported to Python. The following changes have been made: "test_modfile.sh" has been ported to Python, and the relevant tests relying on it. Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D107956
-
Victor Campos authored
FeaturePMU was created in AArch64 to accommodate one missing system register, PMMIR_EL1, in commit ffcd7698. However, the Performance Monitors extension already had a target feature, which is called FeaturePerfMon. Therefore, FeaturePMU is redundant. This patch removes FeaturePMU and merges its contents into FeaturePerfMon. Reviewed By: dnsampaio Differential Revision: https://reviews.llvm.org/D109246
-
Ivan Zhechev authored
To enable Flang testing on Windows, shells scripts have to be ported to Python. The following changes have been made: Ported `test_folding.sh` to Python; Additional changes to the tests themselves to use the new script. LIBPGMATH support for testing not available at this point. Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D108217
-
David Truby authored
The isEssentiallyExtractHighSubvector function currently calls getVectorNumElements on a type that in specific cases might be scalable. Since this function only has correct behaviour at the moment on scalable types anyway, the function can just return false when given a fixed type. Differential Revision: https://reviews.llvm.org/D109163
-
Wang, Pengfei authored
This is a follow up patch after D78564 and D108887. Martin helped to confirm the alignment in GCC mingw is the same as the size of vector. https://reviews.llvm.org/D108887#inline-1040893 Reviewed By: mstorsjo Differential Revision: https://reviews.llvm.org/D109265
-
Justas Janickas authored
-
Benjamin Kramer authored
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp:3638:30: error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move] return SendErrorResponse(std::move(ret.takeError())); ^ lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp:3638:30: note: remove std::move call here return SendErrorResponse(std::move(ret.takeError())); ^~~~~~~~~~ ~ lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp:3622:8: error: unused variable 'cf' [-Werror,-Wunused-variable] bool cf = packet_str.consume_front("qSaveCore"); -
Sander de Smalen authored
sve-masked-gather-legalize.ll said the check lines were generated by the update_llc_test_checks script, but that was not the case. This patch ensures both tests are generated with the script. Change-Id: If6f0331ef01ace84017497a484161d1724ac0744
-
Benjamin Kramer authored
lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:4765:13: warning: enumeration value 'Ibm128' not handled in switch [-Wswitch] switch (llvm::cast<clang::BuiltinType>(qual_type)->getKind()) { ^ -
Michał Górny authored
Add a new SaveCore() process method that can be used to request a core dump. This is currently implemented on NetBSD via the PT_DUMPCORE ptrace(2) request, and enabled via 'savecore' extension. Protocol-wise, a new qSaveCore packet is introduced. It accepts zero or more semicolon-separated key:value options, invokes the core dump and returns a key:value response. Currently the only option supported is "path-hint", and the return value contains the "path" actually used. The support for the feature is exposed via qSaveCore qSupported feature. Differential Revision: https://reviews.llvm.org/D101285
-
Qiu Chaofan authored
Currently, we have no front-end type for ppc_fp128 type in IR. PowerPC target generates ppc_fp128 type from long double now, but there's option (-mabi=(ieee|ibm)longdouble) to control it and we're going to do transition from IBM extended double-double ppc_fp128 to IEEE fp128 in the future. This patch adds type __ibm128 which always represents ppc_fp128 in IR, as what GCC did for that type. Without this type in Clang, compilation will fail if compiling against future version of libstdcxx (which uses __ibm128 in headers). Although all operations in backend for __ibm128 is done by software, only PowerPC enables support for it. There's something not implemented in this commit, which can be done in future ones: - Literal suffix for __ibm128 type. w/W is suitable as GCC documented. - __attribute__((mode(IF))) should be for __ibm128. - Complex __ibm128 type. Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D93377
-
Sander de Smalen authored
If the vector is a splat of some scalar value, findScalarElement() can simply return the scalar value if it knows the requested lane is in the vector. This is only needed for scalable vectors, because the InsertElement/ShuffleVector case is already handled explicitly for the fixed-width case. This helps to recognize an InstCombine fold like: extractelt(bitcast(splat(%v))) -> bitcast(%v) Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D107254
-
David Carlier authored
Reviewed By: mgorny Differential Revision: https://reviews.llvm.org/D109278
-
LLVM GN Syncbot authored
-
Tianqing Wang authored
d8faf038 implemented general-regs-only for X86 by disabling all features with vector instructions. But the CRC32 instruction in SSE4.2 ISA, which uses only GPRs, also becomes unavailable. This patch adds a CRC32 feature for this instruction and allows it to be used with general-regs-only. Reviewed By: pengfei Differential Revision: https://reviews.llvm.org/D105462
-
Justas Janickas authored
Adds support for a feature macro `__opencl_c_generic_adress_space` in C++ for OpenCL 2021 enabling a respective optional core feature from OpenCL 3.0. Testing is only performed in SemaOpenCL because generic address space functionality is yet to be implemented in C++ for OpenCL 2021. This change aims to achieve compatibility between C++ for OpenCL 2021 and OpenCL 3.0. Differential Revision: https://reviews.llvm.org/D108461
-
Florian Mayer authored
Reviewed By: hctim Differential Revision: https://reviews.llvm.org/D109224
-
Alexander Belyaev authored
It looks like it was a typo. Instead of `*maybeConstantIndex`, `initTensorOp.getStaticSize(*maybeConstantIndex)` should be used to access the dim size of the tensor. There is a test for that in `canonicalize.mlir`, but it was working correctly because `ReplaceStaticShapeDims` was canonicalizing DimOp before `FoldInitTensorWithDimOp`. So, to make the patterns more "orthogonal", this case is disabled. Differential Revision: https://reviews.llvm.org/D109247
-
David Spickett authored
This reverts commit 8b86f8a3. The inconsistent behaviour has been fixed with 5e50d307.
-
Moritz Sichert authored
Differential Revision: https://reviews.llvm.org/D105466
-
Moritz Sichert authored
Differential Revision: https://reviews.llvm.org/D95512
-
Ivan Zhechev authored
To enable Flang testing on Windows, shell scripts have to be ported to Python. In this patch the "test_errors.sh" script is ported to python ("test_errors.py"). The RUN line of existing tests was changed to make use of the python script. Used python regex in place of awk/sed. Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D107575 -
Saiyedul Islam authored
Add documentation of clang-nvlink-wrapper tool in clang. Add it to the release notes of clang. Fix a small MSVC warning. Differential Revision: https://reviews.llvm.org/D109225
-
Marius Brehler authored
-
Fangrui Song authored
-
guopeilin authored
Currently, we use SExtValue to decide whether to invert tbz or tbnz. However, for the case zext (xor x, c), we should use ZExt rather than SExt otherwise we will generate totally opposite branches. Reviewed By: paquette Differential Revision: https://reviews.llvm.org/D108755
-
LLVM GN Syncbot authored
-
Ruslan Arutyunyan authored
Implementation of `three_way_comparable` and `three_way_comparable_with` concepts from <compare> header. Please note that I have temporarily removed `<compare>` header from `<utility>` due to cyclic dependency that prevents using `<concepts>` header in `<compare>` one. I tried to quickly resolve those issues including applying suggestions from @cjdb and dive deeper by myself but the problem seems more complicated that we thought initially. I am in progress to prepare the patch with resolving this cyclic dependency between headers but for now I decided to put all that I have to the review to unblock people that depend on that functionality. At first glance the patch with resolving cyclic dependency is not so small (unless I find the way to make it smaller and cleaner) so I don't want to mix everything to one review. Reviewed By: ldionne, cjdb, #libc, Quuxplusone Differential Revision: https://reviews.llvm.org/D103478
-
Benjamin Kramer authored
-
Arthur Eubanks authored
-
Arthur Eubanks authored
-
Arthur Eubanks authored
-
- Sep 05, 2021
-
-
Kazu Hirata authored
Identified with readability-const-return-type.
-
David Green authored
This appears to produce better code, even if the condition may need to be replicated.
-
Simon Pilgrim authored
Based off the improved fold in D108522 This should eventually allow us to replace the SLM only cost patterns with generic versions.
-
Simon Pilgrim authored
Add tests for vXi32 multiplies where the operands have been extended from vXi8/vXi16
-
David Green authored
Given a select_cc producing a constant and a invertion of the constant for a comparison more than zero, we can produce an xor with ashr instead, which produces smaller code. The ashr either sets all bits or clear all bits depending on if the value is negative. This is then xor'd with the constant to optionally negate the value. https://alive2.llvm.org/ce/z/DTFaBZ This includes a OneUseCheck on the Cmp, which seems to make thinks a little worse and will be removed in a followup. Differential Revision: https://reviews.llvm.org/D109149
-
David Green authored
Pulled out of D109149, this folds set_cc seteq (ashr X, BW-1), -1 -> set_cc setlt X, 0 to prevent some regressions later on when folding select_cc setgt X, -1, C, ~C -> xor (ashr X, BW-1), C Differential Revision: https://reviews.llvm.org/D109214
-