- May 12, 2023
-
-
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.
-
Lang Hames authored
These are an attempt to more systematically test the features covered by the MCJIT regression tests (though these tests apply to lli's default mode, which is now -jit-kind=orc). This first batch of tests includes a basic smoke test (trivial-return-zero), tests for single function calls and data references, and alignment handling.
-
Jessica Paquette authored
Allows us to knock out a couple more includes from the header file. Also clang-format SuffixTree.cpp while we're here. Also use SuffixTreeNode::EmptyIdx in a couple more places.
-
Joshua Cao authored
The old LoopUnswitch pass unswitched selects, but the changes were never ported to the new SimpleLoopUnswitch. We unswitch by turning: ``` S = select %cond, %a, %b ``` into: ``` head: br %cond, label %then, label %tail then: br label %tail tail: S = phi [ %a, %then ], [ %b, %head ] ``` Unswitch selects are always nontrivial, since the successors do not exit the loop and the loop body always needs to be cloned. Unswitch selects always need to freeze the conditional if the conditional could be poison or undef. Selects don't propagate poison/undef, and branches on poison/undef causes UB. Reland 1 - Fix the insertion of freeze instructions. The original implementation inserts a dead freeze instruction that is not used by the unswitched branch. Reland 2 - Include https://reviews.llvm.org/D149560 in the same patch, which was originally reverted along with this patch. The patch prevents unswitching of selects with a vector conditional. This could have been caught in SimpleLoopUnswitch/crash.ll if it included tests for nontrivial unswitching. This reland also adds a run for the test file with nontrivial unswitching. Reviewed By: nikic, kachkov98, vitalybuka Differential Revision: https://reviews.llvm.org/D138526
-
Jessica Paquette authored
All we need is the suffix indices. Just store those instead. Also improve code readability a little while we're here.
-
Jessica Paquette authored
- Move comment to top of file - Remove unused vector include
-
LLVM GN Syncbot authored
-
Jessica Paquette authored
Add: - SuffixTreeNode.h - SuffixTreeNode.cpp The SuffixTree file was getting too long.
-
Jessica Paquette authored
This makes it clearer that EmptyIdx is related to the node. Also add an allocator for the root so that in the main SuffixTree code we don't see gross stuff like a nullptr parent etc.
-
Jie Fu authored
/data/llvm-project/compiler-rt/lib/xray/../../include/xray/xray_records.h:48:24: error: default member initializer for bit-field is a C++20 extension [ -Werror,-Wc++20-extensions] bool ConstantTSC : 1 = false; ^ /data/llvm-project/compiler-rt/lib/xray/../../include/xray/xray_records.h:49:23: error: default member initializer for bit-field is a C++20 extension [ -Werror,-Wc++20-extensions] bool NonstopTSC : 1 = false; ^ 2 errors generated. -
Kai Sasaki authored
Element-wise exp(log) can be canonicalized as no-op. Reviewed By: eric-k256 Differential Revision: https://reviews.llvm.org/D150342
-
jinge90 authored
and also adds description for default fp environment. Reviewed By:rjmccall, sepavloff Differential Revision: https://reviews.llvm.org/D146188
-
John Demme authored
MemRefMem2Ref was unnecessarily including a header from Complex and not including it as a cmake dep (causing some builds to fail).
-
Vitaly Buka authored
-
Vitaly Buka authored
Looks like code assumes that it will be always set, but it's not true: https://reviews.llvm.org/D150420. This is temporarily suppression to enabled stricter msan on a bot.
-