- May 12, 2023
-
-
Krzysztof Drewniak authored
While pointers in address space 7 (128 bit rsrc + 32 bit offset) should be rewritten out of the code before IR translation on AMDGPU, higher-level analyses may still call MVT getPointerTy() and the like on the target machine. Currently, since there is no MVT::i160, this operation ends up causing crashes. The changes to the data layout that caused such crashes were D149776. This patch causes getPointerTy() to return the type MVT::v5i32 and getPointerMemTy() to be MVT::v8i32. These are accurate types, but mean that we can't use vectors of address space 7 pointers during codegen. This is mostly OK, since vectors of buffers aren't supported in LPC anyway, but it's a noticable limitation. Potential alternative solutions include adjusting getPointerTy() to return an EVT or adding MVT::i160 and MVT::i256, both of which are rather disruptive to the rest of the compiler. Reviewed By: foad Differential Revision: https://reviews.llvm.org/D150002
-
Felipe de Azevedo Piovezan authored
This commit implements IRTranslator lowering of dbg.declare intrinsics targeting swiftasync Arguments, by putting them in the MachineFunction's table of variables whose location doesn't change throughout the function. Depends on D149881 Differential Revision: https://reviews.llvm.org/D149882
-
Konstantin Zhuravlyov authored
Differential Revision: https://reviews.llvm.org/D149986
-
Mark de Wever authored
The newer formatters for (tuple, vector<bool>::reference) specify the formatter's parse and format member function. This signature is slightly different from the signature for existing formatters. Adapt the existing formatters to the new style. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D150034
-
Mark de Wever authored
These tests should have added -std=c++23 instead of replacing -std=c++2b in D149553. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D150063
-
Mark de Wever authored
The financial cost of the network I/O for the Clang install artifacts is quite significant. afd3478f improved this by creating tarballs. This commit improves the tarball by using xz compression instead of gzip. This option is the slowest, but gives the smallest size. size time time (compression) (decompression) gzip 51 M 7 s 1.2 s bz2 44 M 17 s 5.8 s xz 33 M 76 s 3.1 s Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D150062
-
Simon Pilgrim authored
Fixes #62653
-
Benoit Jacob authored
Also some simplifications: * `outputBufferOperands` was unused. * The condition that the number of operands equals the number of inputs plus the number of inits seemed vacuously true (?). Differential Revision: https://reviews.llvm.org/D150376
-
Jeffrey Byrnes authored
Change-Id: I608f14ac3a504cc668f93f130a17dea3950fa554
-
Oleg Shyshkov authored
With this change, more `memref.copy` will be lowered to the efficient `memcpy`. For example, ``` memref.copy %subview, %alloc : memref<1x576xf32, strided<[704, 1]>> to memref<1x576xf32> ``` Differential Revision: https://reviews.llvm.org/D150448
-
Florian Hahn authored
As pointed out by @jpenix-quic in D149668 post-commit, machine instructions without memory operands need to be treated conservatively.
-
Shengchen Kan authored
1. Share code `optimizeInstFromVEX3ToVEX2` with MCInstLower 2. Move the code of optimization for shift/rotate to a separate file 3. Since the function is shared, a side effect is that more encoding optimizations are done on the Asmparser side. Considering we already use reverse-encoding for optimization in AsmParser before this patch, I believe the change is positive and expected. This is a reland of D150068 with the fix D150440.
-
Shengchen Kan authored
This reverts commit 8d657c46. Reverts it due to the regression reported in D150068.
-
Kohei Yamaguchi authored
- Added missing TensorTransformOps to the Transform doc - Added missing AMDGPUPasses to the Passes doc - Place `async dialect` in alphabetical order in the Passes doc Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D150341
-
kon72 authored
This change adds the following three operations and unit tests for them: - conv_3d_ncdhw_fcdhw - depthwise_conv_1d_ncw_cw - depthwise_conv_3d_ncdhw_cdhw Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D150054
-
Florian Hahn authored
The newly added compiler_pop_stack_no_memoperands has no memory operands on the memory instructions but accesses the same locations as compiler_pop_stack. At the moment, accesses to the stack are missed by shrink-wrapping. Test case for the issue pointed out by @jpenix-quic in D149668 post-commit.
-
Neumann Hon authored
[SystemZ][z/OS] Save (and restore) R3 to avoid clobbering parameter when call stack frame extension is invoked When the stack frame extension routine is used, the contents of r3 is overwritten. However, if r3 is live in the prologue (ie. one of the function's parameters resides in r3), it needs to be saved. We save r3 in r0 if r0 is available (ie. r0 is not used as temporary storage for r4), and in the corresponding stack slot for the third parameter otherwise. Differential Revision: https://reviews.llvm.org/D150332 Reviewed By: uweigand
-
Matthias Springer authored
The TrackingListener was unnecessarily strict. Existing ops are now allowed when updating payload ops mappings due to `replaceOp` in the TrackingListener. Differential Revision: https://reviews.llvm.org/D150429
-
Felipe de Azevedo Piovezan authored
Most of the code changed here dates back to 2010, when LLDB was first introduced upstream, as such it benefits from a slight cleanup. The method "dump" is not used anywhere nor is it tested, so this commit removes it. The "findRanges" method returns a boolean which is never checked and indicates whether the method found anything/assigned a range map to the out parameter. This commit folds the out parameter into the return type of the method. A handful of typedefs were also never used and therefore removed. Differential Revision: https://reviews.llvm.org/D150363
-
Felipe de Azevedo Piovezan authored
This patch consumes the EntryValueObjects in a MachineFunction's table, using them to emit the appropriate debug information for these variables. Depends on D149880 Differential Revision: https://reviews.llvm.org/D149881
-
Tobias Gysi authored
The revision adds basic timing to the mlir-translate tool. Reviewed By: Dinistro Differential Revision: https://reviews.llvm.org/D150434
-
Ruiling Song authored
The code is doing the optimization: `((a | c1) << c2)` ==> `(a << c2) + (c1 << c2)` But this is only valid if `a` and `c1` have no common bits being set. Differential Revision: https://reviews.llvm.org/D150246
-
Benjamin Kramer authored
-
khei4 authored
[AggressiveInstCombine] folding load for constant global patterened arrays and structs by GEP-indices Differential Revision: https://reviews.llvm.org/D146622 Fixes https://github.com/llvm/llvm-project/issues/61615 Reviewed By: nikic -
Tres Popp authored
The MLIR classes Type/Attribute/Operation/Op/Value support cast/dyn_cast/isa/dyn_cast_or_null functionality through llvm's doCast functionality in addition to defining methods with the same name. This change begins the migration of uses of the method to the corresponding function call as has been decided as more consistent. Note that there still exist classes that only define methods directly, such as AffineExpr, and this does not include work currently to support a functional cast/isa call. Context: * https://mlir.llvm.org/deprecation/ at "Use the free function variants for dyn_cast/cast/isa/…" * Original discussion at https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443 Implementation: This follows a previous patch that updated calls `op.cast<T>()-> cast<T>(op)`. However some cases could not handle an unprefixed `cast` call due to occurrences of variables named cast, or occurring inside of class definitions which would resolve t...
-
Tres Popp authored
The MLIR classes Type/Attribute/Operation/Op/Value support cast/dyn_cast/isa/dyn_cast_or_null functionality through llvm's doCast functionality in addition to defining methods with the same name. This change begins the migration of uses of the method to the corresponding function call as has been decided as more consistent. Note that there still exist classes that only define methods directly, such as AffineExpr, and this does not include work currently to support a functional cast/isa call. Caveats include: - This clang-tidy script probably has more problems. - This only touches C++ code, so nothing that is being generated. Context: - https://mlir.llvm.org/deprecation/ at "Use the free function variants for dyn_cast/cast/isa/…" - Original discussion at https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443 Implementation: This first patch was created with the following steps. The intention is to only do automated changes a...
-
Tres Popp authored
The MLIR classes Type/Attribute/Operation/Op/Value support cast/dyn_cast/isa/dyn_cast_or_null functionality through llvm's doCast functionality in addition to defining methods with the same name. This change continues the migration of uses of the method to the corresponding function call as has been decided as more consistent. This commit attempts to update all occurrences of the casts in .td files, although it is likely that a couple were missed. Context: - https://mlir.llvm.org/deprecation/ at "Use the free function variants for dyn_cast/cast/isa/…" - Original discussion at https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443 Implementation: Unfortunatley, this was not automated, but was handled by mindlessly going to next occurrences of patterns, selecting the piece of code to be moved into the function call, and running a vim macro over the span of around 4 hours. Differential Revision: https://reviews.llvm.org/D150199
-
Sander de Smalen authored
These intrinsics are used to implement the while intrinsics that result in a predicate-as-counter value, e.g. __attribute__((arm_streaming)) svcount_t svwhilelt_c8(int64_t rn, int64_t rm, uint64_t vl) As described in https://github.com/ARM-software/acle/pull/217 Reviewed By: hassnaa-arm Differential Revision: https://reviews.llvm.org/D150265
-
Sander de Smalen authored
These intrinsics are used to implement: * svptrue_c8(), svptrue_c16(), etc. * svcntp_c8(svcount_t pnn, uint64_t vl), svcntp_c16(...), etc. As described in https://github.com/ARM-software/acle/pull/217 Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D150263
-
Qihan Cai authored
This patch was split from D122918. Co-Author: @liaolucy @sunshaoce Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D149811
-
Nicolas Vasilache authored
-
Balázs Kéri authored
Function declarations are moved into common header that can be reused to avoid repetitions in different test files. Some small problems in the tests were found and fixed. Reviewed By: steakhal Differential Revision: https://reviews.llvm.org/D149158
-
Yingwei Zheng authored
This patch folds `(select setcc, setcc, setcc)` into and/or instructions when truev/falsev is equal to or the inverse of condv. (select x, x, y) -> x | y https://alive2.llvm.org/ce/z/36Ud3Z (select !x, x, y) -> x & y https://alive2.llvm.org/ce/z/mYYoGF (select x, y, x) -> x & y https://alive2.llvm.org/ce/z/MAZ--X (select !x, y, x) -> x | y https://alive2.llvm.org/ce/z/ct7By5 It is the follow-up improvement of D150177, which optimizes the code of signed truncation check patterns without Zbb. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D150286
-
Vitaly Buka authored
Revert "[xray] Ignore -Wc++20-extensions in xray_records.h [NFC]" Not needed. The fix is 3826a74f. This reverts commit 231c1d41. This reverts commit 7f191e6d.
-
Serge Pavlov authored
-
Chuanqi Xu authored
ASTReader after we start writing This is intended to mitigate https://github.com/llvm/llvm-project/issues/61447. Before the patch, it takes 5s to compile test.cppm in the above reproducer. After the patch it takes 3s to compile it. Although this patch didn't solve the problem completely, it should mitigate the problem for sure. Noted that the behavior of the patch is consistent with the comment of the originally empty function ASTReader::finalizeForWriting. So the change should be consistent with the original design.
-
Tomasz Kuchta authored
This patch adds a support for the libc strnlen() function in DFSAN Reviewed by: browneee Differential Revision: https://reviews.llvm.org/D149459
-
Fangrui Song authored
Python>=3.6 has been the requirement since D93097 (2020). Remove old workarounds. Remove unused imports from compiler-rt/test/memprof/lit.cfg.py Reviewed By: serge-sans-paille Differential Revision: https://reviews.llvm.org/D150410
-
Vitaly Buka authored
Fix crash on CHECK in ThreadArgRetval::Finish().
-
Vitaly Buka authored
Avoids reports with msan -fno-inline.
-