HomePhabricator

[DAG] Avoid smart constructor-based dangling nodes.

Authored by niravd on Mar 26 2019, 8:08 AM.

Description

[DAG] Avoid smart constructor-based dangling nodes.

Various SelectionDAG non-combine operations (e.g. the getNode smart
constructor and legalization) may leave dangling nodes by applying
optimizations or not fully pruning unused result values. This can
result in nodes that are never added to the worklist and therefore can
not be pruned.

Add a node inserter as the current node deleter to make sure such
nodes have the chance of being pruned.

Many minor changes, mostly positive.

llvm-svn: 356996

Details

Committed
niravdMar 26 2019, 8:08 AM
Parents
rG1a12dd70c00a: python 2/3 compat: commands vs subprocess
Branches
Unknown
Tags
Unknown