[PATCH] D58070: [DAG] Remember nodes added to the worklist for pruning.

Nirav Dave via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 11 12:55:35 PST 2019


niravd created this revision.
niravd added reviewers: efriedma, RKSimon, craig.topper, spatel.
Herald added subscribers: jsji, hiraditya, javed.absar, nhaehnle, jvesely, nemanjai.
Herald added a project: LLVM.

Nodes that have no uses are added to the worklist will eventually be
pruned, when they are considered. This is leaves a transient where the
existence of dangling nodes may inhibit some optimizations. This
change records which nodes are added to the worklist and upon
finishing the current DAGCombine visit, immediately checks to see if
they may be pruned.

This generally improves codegen, save in some cases where an extension
is not pulled before an inputs operator. This should be fixed in a
followup patch.


Repository:
  rL LLVM

https://reviews.llvm.org/D58070

Files:
  llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  llvm/test/CodeGen/AMDGPU/and.ll
  llvm/test/CodeGen/AMDGPU/calling-conventions.ll
  llvm/test/CodeGen/AMDGPU/fneg-combines.ll
  llvm/test/CodeGen/AMDGPU/idot2.ll
  llvm/test/CodeGen/AMDGPU/idot4.ll
  llvm/test/CodeGen/AMDGPU/idot8.ll
  llvm/test/CodeGen/AMDGPU/mad_uint24.ll
  llvm/test/CodeGen/AMDGPU/shift-and-i64-ubfe.ll
  llvm/test/CodeGen/AMDGPU/shift-i64-opts.ll
  llvm/test/CodeGen/AMDGPU/shl_add_ptr.ll
  llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
  llvm/test/CodeGen/ARM/CGP/arm-cgp-overflow.ll
  llvm/test/CodeGen/ARM/vdup.ll
  llvm/test/CodeGen/PowerPC/pr39478.ll
  llvm/test/CodeGen/PowerPC/testComparesigesll.ll
  llvm/test/CodeGen/X86/constant-combines.ll
  llvm/test/CodeGen/X86/jump_sign.ll
  llvm/test/CodeGen/X86/known-signbits-vector.ll
  llvm/test/CodeGen/X86/legalize-shift-64.ll
  llvm/test/CodeGen/X86/masked_gather_scatter.ll
  llvm/test/CodeGen/X86/movmsk.ll
  llvm/test/CodeGen/X86/not-and-simplify.ll
  llvm/test/CodeGen/X86/pr28504.ll
  llvm/test/CodeGen/X86/pr33844.ll
  llvm/test/CodeGen/X86/sse3.ll
  llvm/test/CodeGen/X86/vec_extract-mmx.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58070.186313.patch
Type: text/x-patch
Size: 101236 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190211/30ac5e15/attachment.bin>


More information about the llvm-commits mailing list