[all-commits] [llvm/llvm-project] 9cd7c5: [InstCombine] Enable fold select into operand for ...
huihzhang via All-commits
all-commits at lists.llvm.org
Mon Nov 22 15:10:38 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9cd7c534e27c2558ef16e14d4440bd838320334b
https://github.com/llvm/llvm-project/commit/9cd7c534e27c2558ef16e14d4440bd838320334b
Author: Huihui Zhang <huihuiz at quicinc.com>
Date: 2021-11-22 (Mon, 22 Nov 2021)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-binop-foldable-floating-point.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
Log Message:
-----------
[InstCombine] Enable fold select into operand for FAdd, FMul, FSub and FDiv.
For FAdd, FMul, FSub and FDiv, fold select into one of the operands to enable
further optimizations, i.e., floating-point reduction detection.
Turn code:
%C = fadd %A, %B
%D = select %cond, %C, %A
into:
%C = select %cond, %B, -0.000000e+00
%D = fadd %A, %C
Alive2 verification (with --disable-undef-input), timed out otherwise.
FAdd - https://alive2.llvm.org/ce/z/eUxN4Y
FMul - https://alive2.llvm.org/ce/z/5SWZz4
FSub - https://alive2.llvm.org/ce/z/Dhj8dU
FDiv - https://alive2.llvm.org/ce/z/Yj_NA2
Reviewed By: spatel
Differential Revision: https://reviews.llvm.org/D113442
More information about the All-commits
mailing list