[PATCH] D20653: LICM: Do not sink or hoist assume intrinsic calls.

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Wed May 25 17:13:23 PDT 2016


hfinkel added a comment.

In http://reviews.llvm.org/D20653#440268, @sanjoy wrote:

> IIUC this is also a correctness fix, right?
>
> Since you could have had:
>
>   volatile boolean always_false = ...;
>   for (...)
>     if (always_false)
>       assume(false);
>   
>
> and hoisting out `assume(false)` to the loop preheader will make the loop appear dead.


Yes.

I was afraid something like this might happen. I think we need to revert r268068 (and the various follow-up fixes). Thoughts?


http://reviews.llvm.org/D20653





More information about the llvm-commits mailing list