[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 10:02:51 PDT 2017


dberlin added a comment.

A few things:

1. It looks like you could just use RPOT and remove bbvect here, since it's wrong, the rpot will not be invalidated :)
2. The other traditional solution we use is to just allow the iterator to have an external set for the storage.

I would rather see us do that (which seems pretty trivial), or at best, a function to fill rpot into an array that is part of postorderiterator.h

But it seems simply changing this not to have bbvect will work just as well, so i'd say we do that?


https://reviews.llvm.org/D31084





More information about the llvm-commits mailing list