jdoerfert added a comment.

In D124158#3480566 <https://reviews.llvm.org/D124158#3480566>, @efriedma wrote:

> In D124158#3480384 <https://reviews.llvm.org/D124158#3480384>, @arsenm wrote:
>
>> I'm thinking noundef is a bit of red herring here. The real problem seems to 
>> be arising from the assume call which is inserted, which now introduces the 
>> assumption that the lane ID must be 0
>
> The optimizer is creating the llvm.assume call based on the violation of the 
> noundef attribute.

I agree. As far as I can tell you have two options, both are specific to the 
shuffle functions:

1. Do not set noundef for calls to them as they allow undef values for all 
lanes we don't read the value.
2. Freeze the inputs unconditionally.

Convergent is unrelated to this.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D124158

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to