[PATCH] D17430: [ifcvn] Don't duplicate blocks containing convergent instructions.

Justin Lebar via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 18 21:18:58 PST 2016


jlebar added a comment.

In http://reviews.llvm.org/D17430#356755, @resistor wrote:

> Why is this needed?


AIUI, if CannotBeCopied is false (the default), IfConverter is free to duplicate code as it moves it around.  That's not safe in general for convergent ops -- that's where I was coming from when I wrote the patch.

However, inasmuch as we always move convergent ops *up* the CFG, I guess this is OK -- we're only subtracting control-flow dependencies.  But it's not at all clear to me that's what's happening here.


http://reviews.llvm.org/D17430





More information about the llvm-commits mailing list