[PATCH] D80161: [CodeGen] Add support for multiple memory operands in MachineInstr::mayAlias
Jean-Michel Gorius via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 19 10:55:36 PDT 2020
Kayjukh added a comment.
In D80161#2043591 <https://reviews.llvm.org/D80161#2043591>, @Kayjukh wrote:
> In D80161#2042626 <https://reviews.llvm.org/D80161#2042626>, @efriedma wrote:
>
> > I'd like to see an MIR test that shows the aliasing check actually working correctly.
>
>
> I will have to find something that fits in a test case and covers this case. Working on it!
@efriedma Except for some variations in instruction scheduling caused by the calls to `mayAlias` when adding chain dependencies, I cannot seem to find anything that could make for a good test case. I tried looking into the AArch64LoadStoreOptimizer as well as the ARMLoadStoreOptimizer but none of my attempts triggered the
// FIXME: Need to handle multiple memory operands to support all targets.
if (!hasOneMemOperand() || !Other.hasOneMemOperand())
return true;
code path, even when compiling fairly complex codes for those targets.
Handcrafting a MIR test file that would trigger this code path proves to be quite challenging since we have no direct control over the propagation of memory operands. Did you have a specific test scenario in mind?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D80161/new/
https://reviews.llvm.org/D80161
More information about the llvm-commits
mailing list