[all-commits] [llvm/llvm-project] b6c790: [MachineCombiner][RISCV] Add fmadd/fmsub/fnmsub in...
Anton Sidorenko via All-commits
all-commits at lists.llvm.org
Thu Nov 17 02:28:44 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b6c790736e77f79e819fa761fb13f2311296714a
https://github.com/llvm/llvm-project/commit/b6c790736e77f79e819fa761fb13f2311296714a
Author: Anton Sidorenko <anton.sidorenko at syntacore.com>
Date: 2022-11-17 (Thu, 17 Nov 2022)
Changed paths:
M llvm/include/llvm/CodeGen/MachineCombinerPattern.h
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/test/CodeGen/RISCV/machine-combiner-mir.ll
M llvm/test/CodeGen/RISCV/machine-combiner.ll
Log Message:
-----------
[MachineCombiner][RISCV] Add fmadd/fmsub/fnmsub instructions patterns
This patch adds tranformation of fmul+fadd/fsub chains to fused multiply
instructions:
* fmul+fadd->fmadd
* fmul+fsub->fmsub/fnmsub
We also will try to combine these instructions if the fmul has more than one use
and cannot be deleted. However, removing the dependence between fmul and fadd can
still be profitable, and we rely on machine combiner approximations of scheduling.
Differential Revision: https://reviews.llvm.org/D136764
More information about the All-commits
mailing list