- Mar 17, 2022
-
-
Valentin Clement authored
This patch adds lowering for the `present` intrinsic. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D121884 Co-authored-by:
Jean Perier <jperier@nvidia.com>
-
Valentin Clement authored
This patch adds lowering for the `exit` intrinsic. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D121882 Co-authored-by:
Jean Perier <jperier@nvidia.com> Co-authored-by:
Josh Mottley <Josh.Mottley@arm.com>
-
Andrzej Warzynski authored
This patch adds support for lowering of the `index` intrinsics from Fortran to the FIR dialect of MLIR. This is part of the upstreaming effort from the `fir-dev` branch in [1]. [1] https://github.com/flang-compiler/f18-llvm-project Differential Revision: https://reviews.llvm.org/D121834 Co-authored-by:
Jean Perier <jperier@nvidia.com> Co-authored-by:
Valentin Clement <clementval@gmail.com> Co-authored-by:
V Donaldson <vdonaldson@nvidia.com> Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com>
-
Florian Hahn authored
VPInterleaveRecipe only uses the first lane of the address. Add onlyFirstLaneUsed implementation. This is needed for a follow-up patch. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D121612
-
Andrzej Warzynski authored
-
Dmitry Preobrazhensky authored
The commit code https://github.com/llvm/llvm-project/commit/5977dfba64099e224cba12f580b6867e7a3d149a failed to compile with GCC5. This patch addresses the issue. For a related discussion, see https://reviews.llvm.org/D121696
-
Shreyas Atre authored
Link to the GitHub Issue: https://github.com/llvm/llvm-project/issues/53745 Added config_path variable within the python script which makes the required call to the clang-tidy binary with --config-file option. If the config_path is None then config will be used. No error is raised if both are given but silently chooses config_path over config
-
Evgeny Shulgin authored
The checker removes `const`s that are superfluos and badly affect readability. `decltype(auto)`/`decltype(expr)` are often const-qualified, but have no effect on readability and usually can't stop being const-qualified without significant code change. Fixes https://github.com/llvm/llvm-project/issues/52890 Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D119470
-
Nikita Popov authored
This code just wants to check all incoming values, we don't care care what the incoming block is here.
-
David Spickett authored
This reverts commit 406d418c. Our regular bots are now using clang-13. The previous set will remain online for a while to check reviews that haven't rebased to include this change yet. Differential Revision: https://reviews.llvm.org/D121894
-
Simon Pilgrim authored
Extension to 4390c721 - similar to the vanilla load/store intrinsics, _mm_lddqu_si128/_mm256_lddqu_si256 should take an unaligned pointer, but were using the aligned m128i/m256i types which can cause alignment warnings. The existing sse3-builtins.c and avx-builtins.c tests in llvm-project\clang\test\CodeGen\X86 should cover this. Differential Revision: https://reviews.llvm.org/D121815
-
Alex Zinenko authored
These files are necessary for various type checking and autocompletion tooling to work. Differential Revision: https://reviews.llvm.org/D121810
-
Jean Perier authored
When creating an array temporary in the array copy pass, care must be taken with allocatable components. The element components needs to be given a clean unallocated status before being used in the assignments. This is because assignment of allocatable components makes deep copy, and may cause deallocation of the previous value if it was allocated. Hence the previous allocation status cannot be let undefined. On top of that, when cleaning-up the temp, all allocatable components that may have been allocated must be deallocated. This patch implements this by centralizing the code making and cleaning array temps in ArrayValueCopy.cpp, and by calling Initialize and Destroy runtime entry points when they are allocatable components. Differential Revision: https://reviews.llvm.org/D121892
-
Adrian Kuegel authored
Differential Revision: https://reviews.llvm.org/D121886
-
Kazushi (Jam) Marukawa authored
Add vector mask intrinsics instructions to clang. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D121816
-
Jay Foad authored
Move structural hashing into virtual methods on Pass. This will allow MachineFunctionPass to override the method to add hashing of the MachineFunction. Differential Revision: https://reviews.llvm.org/D120123
-
David Green authored
If we already have a AArch64ISD::ANDS node with identical operands, we can merge any ISD::AND into it, reducing the instruction count by calculating the value and the flags in a single operation. This code is taken from the X86 backend, and could also handle AArch64ISD::ADDS and AArch64ISD::SUBS, but I couldn't find any test cases where it came up. Differential Revision: https://reviews.llvm.org/D118584
-
Adrian Kuegel authored
Differential Revision: https://reviews.llvm.org/D121893
-
Adrian Kuegel authored
Differential Revision: https://reviews.llvm.org/D121891
-
Nikita Popov authored
Reapply with an explicit check for multi-edges, as the expected behavior of multi-edge dominance is unclear (D120811). ----- For conditional branches, we know the value is i1 0 or i1 1 along the outgoing edges. For switches we can apply exactly the same optimization, just with the known values determined by the switch cases.
-
Haojian Wu authored
-
Krystian Kuzniarek authored
Misalignment of clang/docs/ClangFormatStyleOptions.rst and clang/include/clang/Format/Format.h was introduced in c24b3db4. Regenerated with: python clang/docs/tools/dump_format_style.py Reviewed By: sstwcw, curdeius, HazardyKnusperkeks Differential Revision: https://reviews.llvm.org/D121749
-
Adrian Kuegel authored
-
Marek Kurdej authored
[clang-format] Correctly recognize binary operators in template arguments with parenthesized literals. Fixes https://github.com/llvm/llvm-project/issues/24602. Before, code like `foo<b & 1>` was formatted correctly but `foo<b & (1)>` wasn't. This patch fixes this inconsistency. Reviewed By: HazardyKnusperkeks, owenpan Differential Revision: https://reviews.llvm.org/D121846
-
Marek Kurdej authored
-
Adrian Kuegel authored
-
Adrian Kuegel authored
-
Lian Wang authored
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D121675
-
River Riddle authored
This allows for sharing the implementation of key components across multiple MLIR language servers. These will be used in a followup to help implement a PDLL language server. Differential Revision: https://reviews.llvm.org/D121540
-
River Riddle authored
This commit adds detailed documentation for PDLL, its language design, and captures a bit of the rationale. This document captures everything in-tree at present, and is intended to be an all encompassing manual for interacting with and understanding PDLL. Differential Revision: https://reviews.llvm.org/D119903
-
Valentin Clement authored
This patch adds lowering for somw array related intrinsics: - `reshape` - `spread` This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: schweitz Differential Revision: https://reviews.llvm.org/D121841 Co-authored-by:
Jean Perier <jperier@nvidia.com> Co-authored-by:
mleair <leairmark@gmail.com>
-
Jonas Devlieghere authored
-
Valentin Clement authored
This patch adds lowering for some character related intrinsics: - `scan` - `verify` This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D121842 Co-authored-by:
Jean Perier <jperier@nvidia.com> Co-authored-by:
mleair <leairmark@gmail.com> Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com>
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
Migrate to using ReportError to report a failure to evaluate a watchpoint condition. I had already done so for the parallel code for breakpoints. In the process, I noticed that I accidentally regressed the error reporting for breakpoint conditions by dropping the call to GetDescription. This patch rectifies that and adds a test. Because the call to GetDescription expects a Stream*, I also switches from using a raw_string_ostream to a StreamString for both breakpoints and watchpoints.
-
River Riddle authored
The current dialect registry allows for attaching delayed interfaces, that are added to attrs/dialects/ops/etc. when the owning dialect gets loaded. This is clunky for quite a few reasons, e.g. each interface type has a separate tracking structure, and is also quite limiting. This commit refactors this delayed mutation of dialect constructs into a more general DialectExtension mechanism. This mechanism is essentially a registration callback that is invoked when a set of dialects have been loaded. This allows for attaching interfaces directly on the loaded constructs, and also allows for loading new dependent dialects. The latter of which is extremely useful as it will now enable dependent dialects to only apply in the contexts in which they are necessary. For example, a dialect dependency can now be conditional on if a user actually needs the interface that relies on it. Differential Revision: https://reviews.llvm.org/D120367
-
Jonas Devlieghere authored
I split up the test so we could stop redirecting stderr to stdout but I forgot to include that part in the previous commit.
-
Jacques Pienaar authored
Avoids matching R"mlir( while already inside a string.
-
Abinav Puthan Purayil authored
This change replaces the manual selection of buffer_atomic_cmpswap* instructions in SelectionDAG and GlobalISel with a tblgen based selection in BUFInstructions.td. This allows us to select the return and no-return variants in tblgen. Differential Revision: https://reviews.llvm.org/D121770
-