- Feb 01, 2022
-
-
Christian Kühnel authored
Auto-generated patch based on clang-tidy readability-identifier-naming. Only some manual cleanup for `extern "C"` declarations and a GTest change was required. I'm not sure if this cleanup is actually very useful. It cleans up clang-tidy findings to the number of warnings from clang-tidy should be lower. Since it was easy to do and required only little cleanup I thought I'd upload it for discussion. One pattern that keeps recurring: Test **matchers** are also supposed to start with a lowercase letter as per LLVM convention. However GTest naming convention for matchers start with upper case. I would propose to keep stay consistent with the GTest convention there. However that would imply a lot of `//NOLINT` throughout these files. To re-product this patch run: ``` run-clang-tidy -checks="-*,readability-identifier-naming" -fix -format ./clang-tools-extra/clangd ``` To convert the macro names, I was using this script with some manual cleanup afterwards: https://gist.github.com/ChristianKuehnel/a01cc4362b07c58281554ab46235a077 Differential Revision: https://reviews.llvm.org/D115634
-
Nathan Sidwell authored
While prepending lines to the copied source files is functional, it disturbs the line numbering between the original and the copy. That makes development more awkward than necessary, as it is the copy that generally gets compiled first and emits compiler errors. This uses sed to alter the first two lines, and also emits better emacs mode setting, getting both C++ mode and read-only mode. While here, also update and clarify documentation. Reviewed By: ChuanqiXu Differential Revision: https://reviews.llvm.org/D118135
-
Marek Kurdej authored
This way we have at most 1 allocation even if the number of includes is greater than the on-stack size of the small vector.
-
Marek Kurdej authored
This way we have at most 1 allocation even if the number of includes is greater than the on-stack size of the small vector.
-
Marek Kurdej authored
* Avoid repeatedly calling std::string::append(char) in a loop. * Reserve before calling std::string::append(const char *) in a loop.
-
Marek Kurdej authored
-
Jon Chesterfield authored
-
Nicolas Vasilache authored
The test introduced in https://reviews.llvm.org/D118006 was missing a return and would introduce a non-0 return which would fail tests.
-
Valentin Clement authored
This patch puts in place the differents function to lower the evaluation list. All functions are just placholders with TODOs for now. Follow up patches will bring the proper lowering in these functions. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D118678
-
Simon Pilgrim authored
Simplifies an upcoming change.
-
Nicolas Vasilache authored
Somehow the test introduced in https://reviews.llvm.org/D118006 produces the expected result but running through lli with Intel SDE activated sneaks in an error code 2 (before this commit) or an error code 10 (after this commit). The test as is is still meaningful in that the LLVMIR generation would crash if the `elementtype` is set improperly. Still, this should run with lli turned on.
-
Nico Weber authored
-
Alexander Shaposhnikov authored
-
Alexander Shaposhnikov authored
-
Alexander Shaposhnikov authored
-
Alexander Shaposhnikov authored
-
Simon Pilgrim authored
As raised on rGffd0e464b4b9, if x is poison, this fold is still ok.
-
Alexander Shaposhnikov authored
-
Fraser Cormack authored
-
Fraser Cormack authored
-
Fraser Cormack authored
Inspired by a recent Discourse post on undef vs. poison usage, this series of patches should reduce the number of undefs in LLVM tests by around 10%. Only undef vector operands to insertelement/shufflevector have been handled, which are by far the most common we've got. The switchover is split into 3 fairly arbitrary clusters to make it slightly more manageable: vector predication, fixed-length vectors, scalable vectors.
-
Benjamin Kramer authored
It doesn't like implicit `this` in generic lambdas.
-
Nicolas Vasilache authored
This revision adds enough support to allow InlineAsmOp to work properly with indirect memory constraints "*m". These require an explicit "elementtype" TypeAttr on the operands to pass LLVM verification and need to be provided. Reviewed By: bkramer Differential Revision: https://reviews.llvm.org/D118006
-
Nikita Popov authored
The check lines were in the wrong order.
-
Prashant Kumar authored
Extract the division representation from equality constraints. For example: 32*k == 16*i + j - 31 <-- k is the localVariable expr = 16*i + j - 31, divisor = 32 k = (16*i + j - 32) floordiv 32 The dividend of the division is set to [16, 1, -32] and the divisor is set to 32. Reviewed By: Groverkss Differential Revision: https://reviews.llvm.org/D117959
-
Benjamin Kramer authored
This reverts commit afaaecc8. Crashes when compiling SciPy, test case https://reviews.llvm.org/P8276
-
tyb0807 authored
Currently, ARMBaseInstrInfo::getInstSizeInBytes() uses hard-coded instruction size for some pseudo-instructions, while this information should ideally be found in ARMInstrInfo.td, ARMInstrThumb(2).td files (which can be accessed via MCInstrDesc). Hence, the .td files should be updated and no hard-coded instruction sizes should be used by getInstSizeInBytes() anymore. Differential Revision: https://reviews.llvm.org/D118009
-
tyb0807 authored
Currently, AArch64InstrInfo::getInstSizeInBytes() uses hard-coded instruction size for some pseudo-instructions, while this information should ideally be found in AArch64InstrInfo.td file (which can be accessed via MCInstrDesc). Hence, the .td file should be updated and no hard-coded instruction sizes should be used by getInstSizeInBytes() anymore. Differential Revision: https://reviews.llvm.org/D117970
-
Fraser Cormack authored
This test shows a loop, whose preheader uses a SEW=64, LMUL=1 vector operation. The loop body starts off with another SEW=64, LMUL=1 VADD vector operation, before switching to a SEW=32, LMUL=1/2 vector store instruction. We can see that the VSETVLI insertion pass omits a VSETVLI before the VADD (thinking it inherits its configuration from the preheader) but does place a SEW=32, LMUL=1/2 VSETVLI before the store. This results in a miscompilation as when the loop comes back around, the VADD is incorrectly configured with SEW=32, LMUL=1/2. It appears to be a bad load/store optimization, as replacing the vector store with an SEW=32, LMUL=1/2 VADD does correctly insert a VSETVLI. The issue is therefore possibly arising from canSkipVSETVLIForLoadStore. Differential Revision: https://reviews.llvm.org/D118629
-
David Spickett authored
These tests appear to be causing timeouts on our silent Thumbv7 bot: https://lab.llvm.org/staging/#/builders/162/builds/260 It is possible they would complete given enough time. value-profile-switch seems to take a long time even on a powerful Armv8 machine.
-
Bjorn Pettersson authored
Do "simplifyShift" and "FoldConstantArithmetic" folds for the SSHLSAT and USHLSAT DAG nodes. This includes folds such as: (shlsat undef/poison, x) -> 0 (shlsat x, undef/poison) -> undef (shlsat x, too_large_shamt) -> undef (shlsat 0, x) -> 0 (shlsat x, 0) -> x (shlsat c1, c2) -> c3 Differential Revision: https://reviews.llvm.org/D118603
-
Bjorn Pettersson authored
-
Florian Hahn authored
This removes another instance of recipe execution still relying on the cost model. Depends on D116554. Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D116656
-
David Sherwood authored
I have updated TargetLowering::isConstTrueVal to also consider SPLAT_VECTOR nodes with constant integer operands. This allows the optimisation to also work for targets that support scalable vectors. Differential Revision: https://reviews.llvm.org/D117210
-
Nikita Popov authored
This shows a miscompile in the current argpromotion implementation: We may speculatively execute overaligned loads.
-
Jay Foad authored
In some cases StructurizeCFG inserts i1 xor instructions to invert predicates. Add a quick loop to clean these up afterwards if we can get away with modifying an existing compare instruction instead. (StructurizeCFG is generally run late in the pipeline so instcombine does not clean them up for us.) Differential Revision: https://reviews.llvm.org/D118623
-
Nikita Popov authored
-
Nikita Popov authored
-
David Green authored
-
Siva Chandra authored
This allows us to enable rmdir, mkdir, mkdirat, unlink and unlinkat for aarch64.
-