[all-commits] [llvm/llvm-project] 59c6e2: InstCombine: Introduce SimplifyDemandedUseFPClass

Matt Arsenault via All-commits all-commits at lists.llvm.org
Wed Oct 4 21:06:44 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 59c6e2e9c1beee0bc73922fe44c9fd4462289847
      https://github.com/llvm/llvm-project/commit/59c6e2e9c1beee0bc73922fe44c9fd4462289847
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-10-04 (Wed, 04 Oct 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll

  Log Message:
  -----------
  InstCombine: Introduce SimplifyDemandedUseFPClass

This is the floating-point analog of SimplifyDemandedBits. If we know
the edge cases are assumed impossible in uses, it's possible to prune
upstream edge case handling.

Start by only using this on returns in functions with nofpclass
returns (where I'm surprised there are no other combines), but this
can be extended to include any other nofpclass use or FPMathOperator
with flags.

Partially addresses issue #64870

https://reviews.llvm.org/D158648




More information about the All-commits mailing list