When looking through extends of gather/scatter indices it's safe
to convert a known positive signed index to unsigned, but unsigned
indices must remain unsigned.
Depends On D123318
Paths
| Differential D123326
[DAGCombiner] Stop invalid sign conversion in refineIndexType. ClosedPublic Authored by paulwalker-arm on Apr 7 2022, 10:35 AM.
Details Summary When looking through extends of gather/scatter indices it's safe Depends On D123318
Diff Detail
Event Timelinepaulwalker-arm added inline comments.
paulwalker-arm added a child revision: D123347: [ISD::IndexType] Helper functions for common queries..Apr 7 2022, 5:28 PM This revision is now accepted and ready to land.Apr 28 2022, 5:49 AM This revision was landed with ongoing or failed builds.Apr 29 2022, 6:24 AM Closed by commit rG23c509754d4b: [DAGCombiner] Stop invalid sign conversion in refineIndexType. (authored by paulwalker-arm). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 426039 llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/AArch64/sve-gather-scatter-addr-opts.ll
|
Just wanted to say that I'd rather pass an IndexType directly here but I've resisted that because I have a follow-on patch that makes ISD::IndexType easier to work with and also removes refineIndexType's MSG operand so I figured I'd keep this bug fix minimal.