HomePhabricator

[DAG] Avoid smart constructor-based dangling nodes.

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.

Details

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