[PATCH] D31084: [GVN] Fix accidental double storage of the function BasicBlock list in iterateOnFunction

Daniel Berlin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 17 12:56:44 PDT 2017


dberlin added a comment.



In https://reviews.llvm.org/D31084#703946, @craig.topper wrote:

> I was afraid of making the assumption about how RPOT works in case someone made it behave differently in the future.


Honestly, I would just document (in the RPO description) that it's guaranteed not to invalidate when bb's go away, *but* it may contain erased based blocks, document that things are relying on this semantic (cite at least GVN), and declare victory.

I think it's more important that the invariant things are relying on is documented than worrying about someone wanting to change it.


https://reviews.llvm.org/D31084





More information about the llvm-commits mailing list