[all-commits] [llvm/llvm-project] 1c9a09: [DAGCombiner] skip reciprocal divisor optimization...

RotateRight via All-commits all-commits at lists.llvm.org
Mon Aug 31 06:41:42 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 1c9a09f42e5ed66cba04700f9272ff53ea3cca86
      https://github.com/llvm/llvm-project/commit/1c9a09f42e5ed66cba04700f9272ff53ea3cca86
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2020-08-31 (Mon, 31 Aug 2020)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/sqrt-fastmath.ll
    M llvm/test/CodeGen/X86/sqrt-fastmath.ll

  Log Message:
  -----------
  [DAGCombiner] skip reciprocal divisor optimization for x/sqrt(x), better

I tried to fix this in:
rG716e35a0cf53
...but that patch depends on the order that we encounter the
magic "x/sqrt(x)" expression in the combiner's worklist.

This patch should improve that by waiting until we walk the
user list to decide if there's a use to skip.

The AArch64 test reveals another (existing) ordering problem
though - we may try to create an estimate for plain sqrt(x)
before we see that it is part of a 1/sqrt(x) expression.




More information about the All-commits mailing list