- Apr 29, 2021
-
-
David Spickett authored
<...>/llvm-project/llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp:191:15: warning: unused variable ‘ASC’ [-Wunused-variable] 191 | if (auto *ASC = dyn_cast<AddrSpaceCastInst>(I.OldInstruction)) { | ^~~ -
Nick Lewycky authored
verifyFunctionAttrs has a comment that the value V is printed in error messages. The recently added errors for attributes didn't print V. Make them print V. Change the stringification of AttributeList. Firstly they started with 'PAL[' which stood for ParamAttrsList. Change that to 'AttributeList[' matching its current name AttributeList. Print out semantic meaning of the index instead of the raw index value (i.e. 'return', 'function' or 'arg(n)'). Differential revision: https://reviews.llvm.org/D101484
-
Qiu Chaofan authored
This patch enables support on SPE for constrained arithmetic and comparison operations. This fixes bugzilla 50070. One thing not covered is fcmp vs. fcmps on SPE. Some condition code generates singaling comparison while some not. In this patch, all are considered as singaling. So there might be still some issue when compiling from C code. Reviewed By: jhibbits Differential Revision: https://reviews.llvm.org/D101282
-
David Spickett authored
AArch64 kernel builds default to having /smaps and the "VmFlags" line was added in 3.8. Long before MTE was supported. So we can assume that if you're AArch64 with MTE, you can run this test. The previous method of checking had a race condition where the process we read smaps for, could finish before we get to read the file. I explored some alternatives but in the end I think it's fine to just assume we have what we need. Reviewed By: omjavaid Differential Revision: https://reviews.llvm.org/D100493
-
Vitaly Buka authored
-
Fraser Cormack authored
This is an complementary/alternative fix for D99068. It takes a slightly different approach by explicitly summing up all of the required split part type sizes and ensuring we allocate enough space for them. It also takes the maximum alignment of each part. Compared with D99068 there are fewer changes to the stack objects in existing tests. However, @luismarques has shown in that patch that there are opportunities to reduce our stack usage in the future. Reviewed By: luismarques Differential Revision: https://reviews.llvm.org/D99087
-
Frederik Gossen authored
Differential Revision: https://reviews.llvm.org/D101456
-
Marek Kurdej authored
This fixes another bogus build error on gcc, e.g. https://lab.llvm.org/buildbot/#/builders/110/builds/2974. /home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/clang/lib/Format/TokenAnnotator.cpp:3412:34: error: binding ‘const clang::format::FormatStyle’ to reference of type ‘clang::format::FormatStyle&’ discards qualifiers auto ShouldAddSpacesInAngles = [&Style = this->Style, ^
-
Amara Emerson authored
We spend some time during sqlite3 compilation regrowing this vector, bump it up to avoid this. Gives around 1-2% improvement in codegen-only time for sqlite3 at -O0.
-
Fraser Cormack authored
Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D101466
-
Marek Kurdej authored
This fixes a bogus build error on gcc, e.g. https://lab.llvm.org/buildbot/#/builders/110/builds/2973. /home/ssglocal/clang-cmake-x86_64-avx2-linux/clang-cmake-x86_64-avx2-linux/llvm/clang/lib/Format/TokenAnnotator.cpp:3097:53: error: binding ‘const clang::SourceRange’ to reference of type ‘clang::SourceRange&’ discards qualifiers auto HasExistingWhitespace = [&Whitespace = Right.WhitespaceRange]() { ^
-
Nicolas Vasilache authored
This revision adds support for vectorizing more general linalg operations with projected permutation maps. This is achieved by eagerly broadcasting the intermediate vector to the common size of the iteration domain of the linalg op. This allows a much more natural expression of generalized vectorization but may introduce additional computations until all the proper canonicalizations are implemented. This generalization modifies the vector.transfer_read/write permutation logic and exposes the fact that the logic employed in vector.contract was too ad-hoc. As a consequence, changes occur in the permutation / transposition logic for contraction. In turn this prompts supporting more cases in the lowering of contract to matrix intrinsics, which is required to make the corresponding tests pass. Differential revision: https://reviews.llvm.org/D101165
-
Sjoerd Meijer authored
-
Harald van Dijk authored
As X32 uses 32-bit pointers without having 32-bit indirect branch instructions, we need to fix up indirect branches by extending the branch targets to 64 bits. This was already done for BRIND but not yet for NT_BRIND. The same logic works for both, so this applies that existing logic to NT_BRIND as well. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D101499
-
Evgeny Leviant authored
Patch adds -debug-pass-structure option to dump pass structure when new pass manager is used. Differential revision: https://reviews.llvm.org/D99599
-
Tobias Gysi authored
The patch extends the OpDSL with support for: - Constant values - Capture scalar parameters - Access the iteration indices using the index operation - Provide predefined floating point and integer types. Up to now the patch only supports emitting the new nodes. The C++/yaml path is not fully implemented. The fill_rng_2d operation defined in emit_structured_generic.py makes use of the new DSL constructs. Differential Revision: https://reviews.llvm.org/D101364
-
Marek Kurdej authored
A need for such an option came up in a few libc++ reviews. That's because libc++ has both code in C++03 and newer standards. Currently, it uses `Standard: C++03` setting for clang-format, but this breaks e.g. u8"string" literals. Also, angle brackets are the only place where C++03-specific formatting needs to be applied. Reviewed By: MyDeveloperDay, HazardyKnusperkeks Differential Revision: https://reviews.llvm.org/D101344
-
Amara Emerson authored
This is a compile time optimization. DILocation:get() is expensive to call, and we were calling it to create a line zero debug loc for *every* instruction we translated. We only really need to do this just before we build constants in the entry block, so I moved this code there. This reduces the LLVM -O0 codegen time of sqlite3 IR by around 0.7% instructions executed and by about ~2% in CPU time. We can probably do better with a more involved change, since the reason we need to create one for each new constant is because we're using the debug scope and inlined-at loc. If we just use a single instruction's scope and drop the inlined-at, we can just cache these and have them be free.
-
David Green authored
The ARMConstantIsland pass will convert any t2B to tB if they are within range after it has added or moved any constant pools. They don't need to be deliberately converted beforehand, and it doesn't deal with needing to convert tB to t2B very well.
-
Dmitry Vyukov authored
Fix format specifier. Fix warnings about non-standard attribute placement. Make free_race2.c test a bit more interesting: test access with/without an offset. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D101424
-
Reshabh Sharma authored
Pointers in non-zero address spaces need to be address space casted before appending to the used list. Reviewed by: vitalybuka Differential Revision: https://reviews.llvm.org/D101363
-
Dmitry Vyukov authored
We've got a user report about heap block allocator overflow. Bump the L1 capacity of all dense slab allocators to maximum and be careful to not page the whole L1 array in from .bss. If OS uses huge pages, this still may cause a limited RSS increase due to boundary huge pages, but avoiding that looks hard. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D101161
-
Reshabh Sharma authored
This patch makes sure that globals in supported address spaces will be replaced by globals with red zones in the same address space by copying the address space. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D101362
-
Dan Liew authored
This is post commit follow up based on discussions in https://reviews.llvm.org/D101122. Differential Revision: https://reviews.llvm.org/D101490 (cherry picked from commit f4c7e82d1b21e637c4e0c53125b126c407d8bdbf)
-
Mike Urbach authored
This adds a method to directly invoke `mlirOperationDestroy` on the MlirOperation wrapped by a PyOperation. Reviewed By: stellaraccident, mehdi_amini Differential Revision: https://reviews.llvm.org/D101422
-
Roland McGrath authored
Reviewed By: phosek, cryptoad, hctim Differential Revision: https://reviews.llvm.org/D101407
-
John Demme authored
This allows out-of-tree users to derive PyConcreteType to bind custom types. The Type version of https://reviews.llvm.org/D101063/new/ Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D101496
-
Alexander Shaposhnikov authored
Add support for LC_THREAD/LC_UNIXTHREAD (these load commands can be copied over without any modifications). Test plan: make check-all Differential revision: https://reviews.llvm.org/D101384
-
Craig Topper authored
After D100691, predicates should be cheap to compare again so we don't need to filter anymore. This is mostly just a revert of several patches going back to 2018. Reviewed By: kparzysz Differential Revision: https://reviews.llvm.org/D100695
-
Amanieu d'Antras authored
Fixes PR49932 Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D100322
-
Roman Lebedev authored
As noticed in post-commit review. I've gone through several iterations of that name, and somehow managed to end up with an incorrect one.
-
Dávid Bolvanský authored
Solves regression mentioned in PR50143. As noted in D101440, proper modelling for calloc would require new attribute inaccessible_or_returned_memonly.
-
Denys Petrov authored
Summary: During pointer dereferencing CastRetrievedVal uses wrong type from the Store after type punning. Namely, the pointer casts to another type and then assigns with a value of one more another type. It produces NonLoc value when Loc is expected. Differential Revision: https://reviews.llvm.org/D89055 Fixes: https://bugs.llvm.org/show_bug.cgi?id=37503 https://bugs.llvm.org/show_bug.cgi?id=49007
-
Roman Lebedev authored
While we have a known profitability issue for sinking in presence of non-unconditional predecessors, there isn't any known issues for having multiple such non-unconditional predecessors, so said restriction appears to be artificial. Lift it.
-
Roman Lebedev authored
-
Roman Lebedev authored
Essentially, we can't promise that the instruction is sinkable without introducing PHI's until we know that it is profitable to sink.
-
Roman Lebedev authored
We can just eagerly pre-check all the instructions that we *could* sink that we'd actually want to sink them, clamping the number of instructions that we'll sink to stop just before the first unprofitable one.
-
Roman Lebedev authored
-
Vitaly Buka authored
D101031 added workaround for the bug.
-
Nathan James authored
Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D101461
-