[PATCH][SelectionDAG] Increase coverage for checkForCycles

Adam Nemet anemet at apple.com
Wed May 21 11:02:03 PDT 2014


This is a small patchset to provide better by-default diagnostics for DAG cycles.  Currently the check is only performed with ENABLE_EXPENSIVE_CHECKS=1.  After these changes we will also run it in Debug+Asserts.  To avoid slowing things down, we only perform the check when we would abort anyway due to some other inconsistency in the DAG detected in AssignTopologicalOrder.

So now, in addition to the cryptic "Overran sorted position”, we also get the node printed where the cycle starts.  Hopefully this will provide more actionable bug report.  This is motivated by my recent work on r209242.

OK to commit?

Adam



-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-SelectionDAG-Remove-duplicate-declaration.patch
Type: application/octet-stream
Size: 829 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140521/a542298a/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-SelectionDAG-Pass-DAG-to-checkForCycles.patch
Type: application/octet-stream
Size: 4935 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140521/a542298a/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-SelectionDAG-Force-cycle-detection-in-AssignTopologi.patch
Type: application/octet-stream
Size: 4176 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140521/a542298a/attachment-0002.obj>


More information about the llvm-commits mailing list