forked from OSchip/llvm-project
![]() We may calculate reassociable math ops in arbitrary order when creating a shuffle reduction, so there's no guarantee that things like 'nsw' hold on those intermediate values. Drop all poison-generating flags for safety. This change is limited to shuffle reductions because I don't think we have a problem in the general case (where we intersect flags of each scalar op that goes into a vector op), but if there's evidence of other cases being wrong, we can extend this fix to cover those cases. https://bugs.llvm.org/show_bug.cgi?id=44536 Differential Revision: https://reviews.llvm.org/D73727 |
||
---|---|---|
.. | ||
AArch64 | ||
AMDGPU | ||
ARM | ||
NVPTX | ||
PowerPC | ||
SystemZ | ||
X86 | ||
XCore | ||
int_sideeffect.ll |