The dag combiner is missing revisiting nodes that it really should, and thus leaving
authorChris Lattner <sabre@nondot.org>
Thu, 24 Jan 2008 07:18:21 +0000 (07:18 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 24 Jan 2008 07:18:21 +0000 (07:18 +0000)
commit20e3d86766a38492b3f6203bf4cf70dd9d187b7b
tree5f8aad7af3b00ec16572d7998ea66b3d13b7d68e
parent0aa5e6f3fbde81c0bf0310ab0582420f0eeb7155
The dag combiner is missing revisiting nodes that it really should, and thus leaving
dead stuff around.  This gets fed into the isel pass and causes certain foldings from
happening because nodes have extraneous uses floating around.  For example, if we turned
foo(bar(x)) -> baz(x), we sometimes left bar(x) around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46305 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp