- May 17, 2023
-
-
Fangrui Song authored
-fsyntax -c is supposed to lead to a -Wunused-command-line-argument warning. There is currently no due to a gcov FIXME in addPGOAndCoverageFlags.
-
ManuelJBrito authored
This patch updates the transformations in InstCombineVectorOps to use the new hufflevector semantics that say that undefined values in the mask yield poison. To prevent miscompilations we have to match with m_Poison instead of m_Undef. Otherwise, we might introduce poison where there was previously undef. Differential Revision: https://reviews.llvm.org/D150039
-
Tobias Gysi authored
Add the saturation arithmetic intrinsics to the LLVM dialect. Reviewed By: Dinistro Differential Revision: https://reviews.llvm.org/D150676
-
LLVM GN Syncbot authored
-
Hui authored
This change contains three util classes that were out from D145183 to make incremental progress - automic_unique_lock - intrusive_list - intrusive_shared_ptr Differential Revision: https://reviews.llvm.org/D150205
-
Thurston Dang authored
This addresses another buildbot breakage: https://lab.llvm.org/buildbot/#/builders/37/builds/22166 My patch, https://reviews.llvm.org/D150708 introduced stubs for common interceptor macros; these had unused variables and functions. An earlier patch fixed the unused variables; this patch suppresses unused-functions warnings.
-
Jie Fu authored
In file included from /data/llvm-project/compiler-rt/lib/hwasan/hwasan_interceptors.cpp:141: /data/llvm-project/compiler-rt/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:1044:13: error: unused function 'write_iovec' [-Werror,-Wunused-function] static void write_iovec(void *ctx, struct __sanitizer_iovec *iovec, ^ /data/llvm-project/compiler-rt/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:1053:13: error: unused function 'read_iovec' [-Werror,-Wunused-function] static void read_iovec(void *ctx, struct __sanitizer_iovec *iovec, ^ /data/llvm-project/compiler-rt/lib/hwasan/../sanitizer_common/sanitizer_common_interceptors.inc:10363:13: error: unused function 'InitializeCommonInterceptors' [-Werror,-Wunused-function] static void InitializeCommonInterceptors() { ^ 3 errors generated. -
Hongtao Yu authored
The dwarf discriminator field for pseudo probes is not supposed to be used until the first FS discriminator pass. Unfortunately there are always corner cases that accidientally set this field. For example, the inliner could set this field for an inlined instruction if the instruction does not come with any debug information. While fixing all such spots is possible, but for future-proff I'd like to enforce a general cleanup before assigning probes any FS discriminator. Reviewed By: wenlei Differential Revision: https://reviews.llvm.org/D150741
-
Hongtao Yu authored
Despite previous effort {D148569} to avoid screwing up existing disrminator field, I'm still seeing some call probes getting a non-zero discriminator eventually in non-FS mode. It could be related to callsite merge. While they are investigated I'm disabling discriminator emission for non-FS mode. This avoids breaking the compatiblity with older tools like llvm-profgen and bolt. Reviewed By: wenlei Differential Revision: https://reviews.llvm.org/D150625 -
Joshua Cao authored
After landing more precise trip multiples in https://reviews.llvm.org/D149529, the SCEV multiple computation handles constants, so there is no longer any need for special constant handling in getSmallConstantTripMultiple. This patch can improve the multiple of a non-constant SCEV that is huge (>=2**32). This is very rare in practice. Differential Revision: https://reviews.llvm.org/D150541
-
Thurston Dang authored
This (hopefully) fixes the buildbot breakage: https://lab.llvm.org/buildbot/#/builders/77/builds/26793 My patch, https://reviews.llvm.org/D150708 introduced stubs for common interceptor macros; these had unused variables. This patch suppresses unused-variable warnings.
-
XinWang10 authored
Add expensive check that Uses, Defs are same for entries in memory folding table. MemFolding could not change the Uses/Defs. Reviewed By: skan Differential Revision: https://reviews.llvm.org/D150633
-
Sameer Sahasrabuddhe authored
When an instruction is determined to be divergent, not all its outputs are divergent. The users of only divergent outputs should now be examined for divergence. Also, replaced a repeating pattern of "if new divergent instruction, then add to worklist" by combining it into a single function. This does not cause any change in functionality. Reviewed By: foad, arsenm Differential Revision: https://reviews.llvm.org/D150636
-
Kazu Hirata authored
The corresponding function definition was removed by: commit e82a0084 Author: Sam Parker <sam.parker@arm.com> Date: Fri Sep 25 09:36:40 2020 +0100
-
khei4 authored
Differential Revision: https://reviews.llvm.org/D150422
-
Kazu Hirata authored
-
Kazu Hirata authored
The last use was removed by: commit 9eb75c45 Author: Krzysztof Parzyszek <kparzysz@codeaurora.org> Date: Fri Jun 30 21:21:40 2017 +0000
-
Kazu Hirata authored
The last uses were removed by: commit 8cda34f5 Author: Tim Northover <tnorthover@apple.com> Date: Wed Mar 11 18:54:22 2015 +0000
-
Kazu Hirata authored
The unused declaration was introduced without a corresponding function definition in: commit f5d07a05 Author: Krzysztof Parzyszek <kparzysz@quicinc.com> Date: Mon Sep 7 14:26:48 2020 -0500
-
Jianjian GUAN authored
This patch does the following things: 1, Add accurate Predicates in intrinsic-pseudo pattern class depending on the vector type. 2, Make vmulh, vmulhsu, vmulhu and vsmul intrinsic only able to select in v extension. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D150550
-
Kazu Hirata authored
The corresponding function definition was removed by: commit b2680c71 Author: Andrew Trick <atrick@apple.com> Date: Tue Jun 5 03:44:43 2012 +0000
-
Kazu Hirata authored
The corresponding function definition was removed by: commit e891654a Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Aug 30 01:34:54 2011 +0000 While we are at it, this patch removes ARMPCLabelIndex, for which the host compiler issues an unused variable warning.
-
Jason Molenda authored
Instead of doing the local filesystem scan for kexts and kernels when the PlatformDarwinKernel is constructed, delay doing it until the scan is needed. Differential Revision: https://reviews.llvm.org/D150621 rdar://109186357
-
Guozhi Wei authored
This patch implements the enhancement proposed by https://github.com/llvm/llvm-project/issues/59312. Suppose we have following code v0 = load %addr br %LoadBB LoadBB: v1 = load %addr ... PredBB: ... br %cond, label %LoadBB, label %SuccBB SuccBB: v2 = load %addr ... Instruction v1 in LoadBB is partially redundant, edge (PredBB, LoadBB) is a critical edge. SuccBB is another successor of PredBB, it contains another load v2 which is identical to v1. Current GVN splits the critical edge (PredBB, LoadBB) and inserts a new load in it. A better method is move the load of v2 into PredBB, then v1 can be changed to a PHI instruction. If there are two or more similar predecessors, like the test case in the bug entry, current GVN simply gives up because otherwise it needs to split multiple critical edges. But we can move all loads in successor blocks into predecessors. Differential Revision: https://reviews.llvm.org/D141712
-
Sergei Barannikov authored
Reviewed By: koakuma Differential Revision: https://reviews.llvm.org/D150512
-
Noah Goldstein authored
Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D150099
-
Noah Goldstein authored
Add `exact` flag handling for `udiv` and add entire `sdiv` case. Differential Revision: https://reviews.llvm.org/D150098
-
Noah Goldstein authored
Differential Revision: https://reviews.llvm.org/D150097
-
Noah Goldstein authored
We now of an implementation of `KnownBits::sdiv` so we can implement this case. Differential Revision: https://reviews.llvm.org/D150096
-
Noah Goldstein authored
This information was previously missing but we can use it for determining the low-bits. Differential Revision: https://reviews.llvm.org/D150095
-
Noah Goldstein authored
We can more precisely determine the upper bits doing `MaxNum / MinDenum` as opposed to only using the MSB. As well, if the `exact` flag is set, we can sometimes determine some of the low-bits. Differential Revision: https://reviews.llvm.org/D150094
-
Noah Goldstein authored
Can figure out some of the upper bits (similiar to `udiv`) if we know the sign of the inputs. As well, if we have the `exact` flag we can sometimes determine some low-bits. Differential Revision: https://reviews.llvm.org/D150093
-
Noah Goldstein authored
Differential Revision: https://reviews.llvm.org/D150092
-
Noah Goldstein authored
For `X * Y`, if there exists a subset of `X` and subset of `Y` s.t `sX * sY != 0`, then `X * Y != 0`. - See first proof: https://alive2.llvm.org/ce/z/28C9CG - NB: This is why the previous Odd case works. In knownbits we could exhaustively hunt for such a subset, but `LSB(X)` and `LSB(Y)` actually works. If `LSB(X) * LSB(Y) != 0`, then `X * Y != 0` - See proof: https://alive2.llvm.org/ce/z/p5wWid In `isKnownNonZero` we can use this as if the `LowestKnownOne(X) * LowestKnownOne(Y) != 0`, then `X * Y != 0`, and we don't need to try and other subsets. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D150425 -
Noah Goldstein authored
Differential Revision: https://reviews.llvm.org/D150424
-
Austin Chang authored
Issue was an assertion failure due to an unchecked `cast`. Fix is to check the operator is `BinaryOperator` before cast so that we won't match `ConstExpr` Reviewed By: goldstein.w.n, RKSimon Differential Revision: https://reviews.llvm.org/D149699
-
Austin Chang authored
This is the implementation of D149782 The patch implements a helper function that matches and fold the following cases in the DAGCombiner: 1. `bswap(logic_op(x, bswap(y))) -> logic_op(bswap(x), y)` 2. `bswap(logic_op(bswap(x), y)) -> logic_op(x, bswap(y))` 3. `bswap(logic_op(bswap(x), bswap(y))) -> logic_op(x, y)` in multiuse case, which still reduces the number of instructions. The helper function accepts SDValue with BSWAP and BITREVERSE opcode. This patch folds the BSWAP cases and remain the BITREVERSE optimization in the future Reviewed By: RKSimon, goldstein.w.n Differential Revision: https://reviews.llvm.org/D149783
-
Austin Chang authored
Fold the following case on SelectionDAG combiner This patch includes the regression test cases ``` bswap(logic_op(x, bswap(y))) -> logic_op(bswap(x), y) bswap(logic_op(bswap(x), y)) -> logic_op(x, bswap(y)) bswap(logic_op(bswap(x), bswap(y))) -> logic_op(x, y) (with multiuse) ``` Reviewed By: goldstein.w.n Differential Revision: https://reviews.llvm.org/D149782
-
Lang Hames authored
We want to reference both byte-sized globals (@A and @C) to prevent them from being dead-stripped.
-
Craig Topper authored
-