diff options
author | Huihui Zhang <huihuiz@quicinc.com> | 2021-11-22 14:58:15 -0800 |
---|---|---|
committer | Huihui Zhang <huihuiz@quicinc.com> | 2021-11-22 15:10:10 -0800 |
commit | 9cd7c534e27c2558ef16e14d4440bd838320334b (patch) | |
tree | ca0b7116a38e30cad0ad48ddd5ef7a7b630e0ed5 /llvm/lib/CodeGen/MachineFunction.cpp | |
parent | d02b318af636a887e85741a5fe699fe3852d1199 (diff) | |
download | llvm-9cd7c534e27c2558ef16e14d4440bd838320334b.zip llvm-9cd7c534e27c2558ef16e14d4440bd838320334b.tar.gz llvm-9cd7c534e27c2558ef16e14d4440bd838320334b.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions