[all-commits] [llvm/llvm-project] 4a9104: InstCombine: Use SimplifyDemandedFPClass on fmul
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Thu Feb 5 08:32:26 PST 2026
Branch: refs/heads/users/arsenm/instcombine/start-using-simplify-demanded-fpclass-instructions
Home: https://github.com/llvm/llvm-project
Commit: 4a9104fca48c6fcfebf0ccce52803728cebfb9c6
https://github.com/llvm/llvm-project/commit/4a9104fca48c6fcfebf0ccce52803728cebfb9c6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/Transforms/InstCombine/AMDGPU/fmul_legacy.ll
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/binop-select.ll
M llvm/test/Transforms/InstCombine/fast-math.ll
M llvm/test/Transforms/InstCombine/fmul-sqrt.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll
M llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
M llvm/test/Transforms/InstCombine/pow_fp_int.ll
M llvm/test/Transforms/InstCombine/pow_fp_int16.ll
M llvm/test/Transforms/InstCombine/powi.ll
M llvm/test/Transforms/InstCombine/select_arithmetic.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass-fmul.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
Log Message:
-----------
InstCombine: Use SimplifyDemandedFPClass on fmul
Start trying to use SimplifyDemandedFPClass on instructions, starting
with fmul. This subsumes the old transform on multiply of 0. The
main change is the introduction of nnan/ninf. I do not think anywhere
was systematically trying to introduce fast math flags before, though
a few odd transforms would set them.
Previously we only called SimplifyDemandedFPClass on function returns
with nofpclass annotations. Start following the pattern of
SimplifyDemandedBits, where this will be called from relevant root
instructions.
I was wondering if this should go into InstCombineAggressive, but that
apparently does not make use of InstCombineInternal's worklist.
Commit: bbd99cc63e046e311d1e11cae557a9e099354696
https://github.com/llvm/llvm-project/commit/bbd99cc63e046e311d1e11cae557a9e099354696
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-02-05 (Thu, 05 Feb 2026)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/select_arithmetic.ll
Log Message:
-----------
Move later
Compare: https://github.com/llvm/llvm-project/compare/cc0b33184e28...bbd99cc63e04
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list