Details
- Reviewers
nikic ManuelJBrito nlopes - Group Reviewers
Restricted Project
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
I think this is legal, but I believe we need to preserve the current results in shufflevector_freezepoison.ll -- it's a pattern we try to intentionally preserve to the backend.
I think this is legal, but I believe we need to preserve the current results in shufflevector_freezepoison.ll -- it's a pattern we try to intentionally preserve to the backend.
I don't understand the bigger picture here. Why do we ever combine "freeze poison" into undef? In which cases do we not want to do that?
llvm/test/Transforms/InstCombine/shufflevector_freezepoison.ll | ||
---|---|---|
17 | this transformation isn't correct. OOB or poison indexes in the mask yield a poison element. Not sure if the bug is in this patch or if it was already there though. The code needs probably needs to separate undef from poison elements. |
this transformation isn't correct.
It replaces <a[0], a[1], freeze poison, freeze poison>
with: <a[0], a[1], poison, poison>.
OOB or poison indexes in the mask yield a poison element.
Not sure if the bug is in this patch or if it was already there though. The code needs probably needs to separate undef from poison elements.