- Nov 29, 2022
-
-
Juan Manuel MARTINEZ CAAMAÑO authored
Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D138706
-
Jordan Rupprecht authored
The libc++ data formatter for `std::shared_ptr` allows any namespace, but the test asserts that it must be the default `__1` namespace. Relax the regex to allow anything that looks like `__.*` (although we use `__[^:]*` so we don't match arbitrarily long text). Reviewed By: labath Differential Revision: https://reviews.llvm.org/D129898
-
Bjorn Pettersson authored
Should cover most of the tests for GVN, GVNHoist, GVNSink, GlobalOpt, GlobalSplit, InstCombine, Reassociate, SROA and TailCallElim that had not been updated earlier.
-
Guillaume Chatelet authored
-
Hassnaa Hamdi authored
To generate code compatible to streaming mode: - enable custom-lowering ISD::CTLZ and ISD::CTPOP. - disable combining OR into BSL. - Testing files: - bit-counting.ll - bitselect.ll Reviewed By: david-arm, sdesmalen Differential Revision: https://reviews.llvm.org/D138682
-
Hassnaa Hamdi authored
Add testing files: - bit-counting.ll - bitselect.ll
-
Jordan Rupprecht authored
The layout is essentially just reversed from the stable std::string layout. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D138850
-
Valentin Clement authored
Change how the binding tables are retrived. Use the newly lowered fir.dispatch_table operations instead of the fir.global type infos. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D138903
-
Sam McCall authored
As strange as it seems to our files-are-strings view of the world, some editors that treat files as arrays of lines can get confused about whether the last line has a newline or not. The consequences of failing to handle a bad incremental update are catastrophic. If an update would be valid except for a missing newline at end of file, pretend one exists. This fixes problems still present in neovim where deleting all text often leads to a desync shortly afterwards: https://github.com/neovim/neovim/issues/17085 Differential Revision: https://reviews.llvm.org/D135508
-
Jordan Rupprecht authored
Some headers in LLDB work only when considered as textual inclusion, but not if one attempts to use them on their own or with a different context. - python-typemaps.h: uses Python definitions without using "Python.h". - RISCVCInstructions.h uses RISC-V register enums without including the enums header. - RISCVInstructions.h includes EmulateInstructionRISCV.h, but is unnecessary since we forward-declare EmulateInstructionRISCV anyway. Including the header is problematic because EmulateInstructionRISCV.h uses DecodeResult which isn't defined until later in RISCVInstructions.h. This makes LLDB build cleanly with the "parse_headers" feature [1]. I'm not sure what the analagous CMake option is. [1] I didn't find public documentation but @MaskRay wrote this up: https://maskray.me/blog/2022-09-25-layering-check-with-clang#parse_headers Reviewed By: labath, MaskRay Differential Revision: https://reviews.llvm.org/D138310
-
Tobias Gysi authored
The revision makes additional integer debug info parameters such as line or column numbers optional (e.g. the line and column numbers 0 are elided when printing, which is in line with the LLVM implementation). Depends on D138405 Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D138437
-
Thomas Symalla authored
-
Jens Massberg authored
The zero-as-null-pointer-constant check should not fire if it is inside a defaulted function, e.g. defaulted spaceship operators. Add C++20 tests with spaceship operators. Fixes #50221 Differential Revision: https://reviews.llvm.org/D138727
-
bipmis authored
This patch updates the load insert point of the merged load in AggressiveInstCombine(). This is done to handle the reported test breaks by handling Alias Analysis correctly. Differential Revision: https://reviews.llvm.org/D137201
-
Sjoerd Meijer authored
The problem in 58441 that was reported after enabling this last time was fixed in 8e9e22f0.
-
Roy Jacobson authored
After accepted in Kona, update the code to accept static operator[] as well. No big code changes: accept this operator as static in SemaDeclCXX, update AST call generation in SemaOverload and update feature macros + tests accordingly. Reviewed By: cor3ntin, erichkeane, #clang-language-wg Differential Revision: https://reviews.llvm.org/D138387
-
Tobias Gysi authored
Currently, the import of LLVMIR fails if the program contains debug intrinsics. The revision adds support to import debug intrinsics that have no debug expression attached and drops all debug intrinsics with a non-empty debug expression. It also moves the existing debug intrinsics into the "intr" namespace by deriving from LLVM_IntrOp. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D138405
-
Pavel Labath authored
Previously, we just used the platform name. This worked mostly OK, but it required adding special handling for any unusual (and potentially downstream) platform plugins, as evidenced by the hardcoding of the qemu-user platform. The current implementation was added in D121605/21c5bb0a, which this essentially reverts and goes back to the previous method of retrieving the platform name from the platform triple (the "OS" field). The motivation for D121605 was the ability to retrieve the process without constructing an SBDebugger object (which would be necessary in a world where SBPlatforms are managed by SBDebuggers). However, this world did not arrive (mainly due to other commitments on my part), and I now think that if we do want to go in that direction, that we should just create a dummy/empty SBDebugger object for holding the initial SBPlatform. One benefit of D121605 was the unification of getPlatform and getHostPlatform code paths, and I preserve that benefit by unifying them in the other direction -- using the host SBPlatform for getHostPlatform. Differential Revision: https://reviews.llvm.org/D138430
-
Qihan Cai authored
Fixes #59132 by mitigating the behavior of not setting underflow flag on RISC-V platform. Reviewed By: vzakhari Differential Revision: https://reviews.llvm.org/D138503
-
Simon Tatham authored
In revision B.q and before of the Armv8-M architecture reference manual, the vector/scalar forms of the `vmla` and `vmlas` instructions came in signed and unsigned integer forms, such as `vmla.s8 q0,q1,r2` or `vmlas.u32 q3,q4,r5`. Revision B.r has changed this. There are no longer signed and unsigned versions of these instructions, since they were functionally identical anyway. Now there is just `vmla.i8` (or `i16` or `i32`, and similarly for `vmlas`). Bit 28 of the instruction encoding, which was previously 0 for signed or 1 for unsigned, is now expected to be 0 always. This change updates LLVM to the new version of the architecture. The obsoleted encodings for unsigned integers are now decoding errors, and only the still-valid encoding is ever emitted. This shouldn't break any existing assembly code, because the old signed and unsigned versions of the mnemonic are still accepted by the assembler (which is standard practice anyway for all signedness-agnostic MVE integer instructions). Reviewed By: dmgreen, lenary Differential Revision: https://reviews.llvm.org/D138827
-
Dmitry Makogon authored
-
Freddy Ye authored
-
Vitaly Buka authored
-
Douglas Yung authored
Revert "[clang][deps] During scanning don't emit warnings-as-errors that are ignored with diagnostic pragmas." This reverts commit eac90d12. This change is causing a test failure on the PS4/PS5 bots: https://lab.llvm.org/buildbot/#/builders/139/builds/31784 https://lab.llvm.org/buildbot/#/builders/216/builds/13476
-
Petr Hosek authored
This variable is derived from LLVM_DEFAULT_TARGET_TRIPLE by default, but using a separate variable allows additional normalization to be performed if needed. Differential Revision: https://reviews.llvm.org/D137451
-
Diego Caballero authored
This relands commit 847b5f82. Differential Revision: https://reviews.llvm.org/D138079
-
Quinn Dawkins authored
Enables transposed gpu.subgroup_mma_load_matrix and updates the lowerings in Vector to GPU and GPU to SPIRV. Needed to enable B transpose matmuls lowering to wmma ops. Taken over from author: stanley-nod <stanley@nod-labs.com> Reviewed By: ThomasRaoux, antiagainst Differential Revision: https://reviews.llvm.org/D138770
-
Uday Bondhugula authored
Make promote single iteration optional on affine-loop-normalize: introduce a command-line flag and an argument on the utility. Disable it by default since such a promotion isn't normally expected with loop normalization: it could drop certain structure or information on the loops that a user wanted to preserve. Reviewed By: dcaballe Differential Revision: https://reviews.llvm.org/D137605
-
Uday Bondhugula authored
Rename DEBUG_TYPE for LoopUtils -> loop-utils to be consistent with the names used for the other files. Fix clang-tidy warnings on argument name mismatches. Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D138752
-
Peter Rong authored
`ShuffleBlockStrategy` will shuffle the instructions in a basic block without breaking the dependency of instructions. It is implemented as a topological sort, only we randomly select instructions with no dependency. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D138339
-
Ron Lieberman authored
-
wlei authored
The stats are computed per module and will all be merged in the binary, importing the metadata will cause duplication of the stats. Reviewed By: hoy, wenlei Differential Revision: https://reviews.llvm.org/D138833
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D124219
-
Usman Nadeem authored
In this patch I added support to change the default target triple used by flang tests using the cmake variable: FLANG_TEST_TARGET_TRIPLE. This functionality is implemented using the LLVM_TARGET_TRIPLE_ENV variable, so that must be defined as well. An example use: `-DLLVM_TARGET_TRIPLE_ENV="LLVM_TARGET_TRIPLE_ENV" -DFLANG_TEST_TARGET_TRIPLE="aarch64-linux-gnu"` Differential revision: https://reviews.llvm.org/D138530 Change-Id: I38e4a46a65109d415a9b72c8a0bf8a955e937280
-
Diego Caballero authored
This patch is part of a larger simplification effort of vector transfer operations. It removes the flag `lower-permutation-maps` from VectorToSCF conversion and enables the lowering of permutation maps by default. This means that VectorToSCF will always lower permutation maps to independent broadcast/transpose operations before lowering vector operations to SCF. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D138742
-
Stanislav Mekhanoshin authored
Compare a relative speed of misaligned accesses before and after vectorization, not just check the new instruction is not going to be slower. Since no target now returns anything but 0 or 1 for Fast argument of the allowsMisalignedMemoryAccesses this is still NFCI. The subsequent patch will tune actual vaues of Fast on AMDGPU. Differential Revision: https://reviews.llvm.org/D124218
-
Kazu Hirata authored
The last uses of AR were removed on July 28, 2022 in commit f96ea53e. Differential Revision: https://reviews.llvm.org/D138730
-
Hanhan Wang authored
This is generated by running ``` sed --in-place 's/[[:space:]]\+$//' mlir/**/*.td sed --in-place 's/[[:space:]]\+$//' mlir/**/*.mlir ``` Reviewed By: rriddle, dcaballe Differential Revision: https://reviews.llvm.org/D138866
-
Koakuma authored
Enable frame pointer optimization by default to match it with other targets. This brings a small reduction in generated binary sizes. Fixes bug #48327 Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D138532
-
Hanhan Wang authored
The `paddingValue` and `outerDimsPerm` are optional to the op; `innerTiles` can be variadic in terms of static sizes and dynamic sizes. Add a custom builder for building pack op easier. Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D138860
-