[LLVMdev] [PATCH] Debug SelectionDAG & SDUse
dag at cray.com
Thu Feb 25 14:46:05 PST 2010
I need a review of this patch and if it looks sane, someone to apply it to
their local sources and run tests in Debug+Checks mode.
The patch replaces the intrusive SDUse list with a std::list<> when XDEBUG is
active. I believe I've maintained the semantics of the SDUse list but I need
The patch exposes all kinds of problems in Debug+Checks mode. Right
now most of them appear to be caused by either garbled data or assigning
an SDUse to multiple SDNode use lists. I don't know what the root cause of
the asserts is right now.
In our copy of 2.5, we get asserts about referencing singular iterators in
ReplaceAllUsesWith. The problem appears to be the recursive call deleting
SDUses out from under the iterators. I have not got that far on trunk due to
the other assert failures.
Three things that I'd like to request:
1. Someone to review that I've correctly made the data structure change.
2. Someone to apply the patch to their local tree and run a Debug+Checks test.
3. Someone to review the patch for commit. I think having XDEBUG-style checks
on SelectionDAG is extremely valuable. I've been working this bug for two
weeks and only nailed it down with this patch.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 7706 bytes
Desc: not available
More information about the llvm-dev