<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Ping?</div><div><br></div><div>Can someone please review the attached patch and commit if it looks good?</div><div><br></div><div>I've simplified things a bit more and regenerated the patch against TOT.</div><div><br></div><div>Thanks,</div><div><br></div><div>Mark</div><div><br></div><div><br></div><div>TryToSimplifyUncondBranchFromEmptyBlock was checking that any common<br>predecessors of the two blocks it is attempting to merge supply the<br>same incoming values to any phi in the successor block. This change<br>allows merging in the case where there is one or more incoming values<br>that are undef. The undef values are rewritten to match the non-undef<br>value that flows from the other edge.<br><br>Merged the tests from<br>- test/Transforms/SimplifyCFG/2008-05-16-PHIBlockMerge.ll<br>into<br>- test/Transforms/SimplifyCFG/EqualPHIEdgeBlockMerge.ll<br>and also added tests to this file for the situation addressed by this<br>patch.<br><br><<a href="rdar://problem/12801861">rdar://problem/12801861</a>><br>---<br>lib/Transforms/Utils/Local.cpp                     |  76 ++++++-<br>.../SimplifyCFG/2008-05-16-PHIBlockMerge.ll        | 131 -----------<br>.../SimplifyCFG/EqualPHIEdgeBlockMerge.ll          | 240 ++++++++++++++++++++-<br>3 files changed, 307 insertions(+), 140 deletions(-)<br>delete mode 100644 test/Transforms/SimplifyCFG/2008-05-16-PHIBlockMerge.ll<br><br></div></body></html>