[all-commits] [llvm/llvm-project] 2ccbf3: [SDAG] fold x * 0.0 at node creation time

RotateRight via All-commits all-commits at lists.llvm.org
Sun Oct 4 08:35:28 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2ccbf3dbd5bac9d4fea8b67404b4c6b006d4adbe
      https://github.com/llvm/llvm-project/commit/2ccbf3dbd5bac9d4fea8b67404b4c6b006d4adbe
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2020-10-04 (Sun, 04 Oct 2020)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/ARM/softfp-constant-comparison.ll
    M llvm/test/CodeGen/X86/fmul-combines.ll

  Log Message:
  -----------
  [SDAG] fold x * 0.0 at node creation time

In the motivating case from https://llvm.org/PR47517
we create a node that does not get constant folded
before getNegatedExpression is attempted from some
other node, and we crash.

By moving the fold into SelectionDAG::simplifyFPBinop(),
we get the constant fold sooner and avoid the problem.




More information about the All-commits mailing list