[all-commits] [llvm/llvm-project] 2ab449: InstCombine: Add baseline tests for freeze with so...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Dec 12 20:22:45 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2ab44989762aa0fa84ff01eea7d3159100f52157
      https://github.com/llvm/llvm-project/commit/2ab44989762aa0fa84ff01eea7d3159100f52157
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-12-12 (Mon, 12 Dec 2022)

  Changed paths:
    A llvm/test/Transforms/InstCombine/freeze-fp-ops.ll

  Log Message:
  -----------
  InstCombine: Add baseline tests for freeze with some FP ops


  Commit: 28e3220a5cb4194399c25a17281cc18f19b3fd3c
      https://github.com/llvm/llvm-project/commit/28e3220a5cb4194399c25a17281cc18f19b3fd3c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-12-12 (Mon, 12 Dec 2022)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/freeze-fp-ops.ll

  Log Message:
  -----------
  ValueTracking: Teach canCreateUndefOrPoison about FP ops

Probably could replace the switch by marking the intrinsic definitions
with NoUndef<RetIndex>.


  Commit: 1bf261c89b96df33ed14c6695f5f8590578e825d
      https://github.com/llvm/llvm-project/commit/1bf261c89b96df33ed14c6695f5f8590578e825d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-12-12 (Mon, 12 Dec 2022)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/freeze-fp-ops.ll

  Log Message:
  -----------
  InstCombine: Fix metadata arguments blocking freeze combining

These are used for special arguments to intrinsics and don't make any
sense to consider for poisonness. Fixes not pushing freeze through
llvm.fptrunc.round.

92106641ae297c24877085e0357e8095aa7b43c9 made
isGuaranteedNotToBeUndefOrPoison return false for metadata arguments,
which doesn't entirely make sense. An alternate patch could switch
that to true, and try to filter out adding some pointless noundefs on
metadata arguments (I tried that, attributor breaks one case with a
llvm.dbg.value in it).


Compare: https://github.com/llvm/llvm-project/compare/899226adac2c...1bf261c89b96


More information about the All-commits mailing list