[PATCH] D126895: [SLP] Phi inputs that come from an unreachable block should be undef.

Vasileios Porpodas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 2 12:18:10 PDT 2022


vporpo added a comment.

> I'll say this one last time: the patch you proposed although it's correct, it's not desirable: it's a regression in terms of performance. If you are seeing a miscompilation, the bug is not in the line you've changed.

I understand that poison is the preferred input to the phis. But given that it is not, then shouldn't SLP try to maintain the program semantics?  Because as I showed in the examples above, by converting  an undef to a poison we are actually changing the properties of the values: a zero-extended undef has its high-order bits zero, but a zero-extended poison does not hold this property.

So perhaps if the input is already undef, we should try to keep it and not replace it with poison?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D126895



More information about the llvm-commits mailing list