The DAGCombiner::combine() in its existing form does not allow targets to do anything if the visitNODE() has done something with it.
IMO, the targets should always be allowed to do stuff irrespective of what we want to do in visitNODE().
Attached is a patch for same. Let me know if it sounds ok. I will go ahead and commit it.
DAGcombine_patch.txt (1020 Bytes)