[PATCH] D44564: [BasicAA] Relax restriction on PHI node handling.

Daniel Berlin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 25 13:21:01 PDT 2018


dberlin added a comment.

Yeah, i'd really like to understand the value of this before make this code more complex and handle more cases.

Really, as we've discussed many times, BasicAA's complex phi/cycle handling should probably be moved out to a caching forward pass that properly resolves cycles, instead of a lazy backwards pass that tries depth limiting to handle cycles.  This was waiting on the new pass manager work, AFAIK (because you couldn't cache it otherwise)

Now that this is done (again, AFAIK), one way to start doing that would be to make PhiAA here, have it handle the cycles you are talking about (it's trivial to compute phi-induced cycles and it's not going to affect compile time in any meaningful way even if you invalidate it a lot. There is code to do it already if you want it, it's <100 lines)  and do caching, and fall back to BasicAA.

Then we can slowly move functionality into that, from BasicAA.


Repository:
  rL LLVM

https://reviews.llvm.org/D44564





More information about the llvm-commits mailing list