[PATCH] D69865: [IR] PR27065: Part2. Fix BasicBlock::removePredecessor to not break SSA form.

Denis Bakhvalov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 7 09:05:03 PST 2019


dendibakh added a comment.

> A same/similar question about this code in BasicBlock was raised on llvm-dev here:
>  http://lists.llvm.org/pipermail/llvm-dev/2015-August/089091.html
> 
> Unfortunately, I don't think the legality of the invalid SSA is documented anywhere. But as we can see, it passes the IR verifier.
> 
> As noted in D69823 <https://reviews.llvm.org/D69823>, I've made several patches to other passes to work-around the issue. It would be great if we didn't have to do that, but AFAIK, we're stuck.

Thanks for the link Sanjay,
However, it's still not clear to me why broken unreachable code is better than valid unreachable code? Is it a hidden way to test that passes do not look into unreachable code?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69865/new/

https://reviews.llvm.org/D69865





More information about the llvm-commits mailing list