[PATCH] D69542: Full Restrict Support - single patch
Jeroen Dobbelaere via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 21 11:37:59 PDT 2022
jeroen.dobbelaere added a comment.
In D69542#3465162 <https://reviews.llvm.org/D69542#3465162>, @D.Kharlamov wrote:
> Hi. I tried to use your patch for my project. My main concern is AA in MachineScheduler.
> I noticed what ptr_provenance info is not passed to CodeGen.
> It could be fixed by adding it to MemoryMachineOperand constructor in `SelectionDAGBuilder::visitLoad` and `SelectionDAGBuilder::visitStore`.
Hi @D.Kharlamov, thanks for notifying this. Originally, the ptr_provenance was part of the AAMDNodes, so it would be automatically part of those places.
When extracting the ptr_provenance support, I moved it out of AAMDNodes, as that was not the logical place for it to reside. This explicit passing should indeed be
added in the SelectionDAGBuilder::visitLoad/visitStore. (Note that MachinePointerInfo already supports the optional ptr_provenance argument).
Any help with reviewing the ptr_provenance patches (See D107354 <https://reviews.llvm.org/D107354> and related) is appreciated. Getting these reviewed and accepted is the next step in adding full restrict support.
> Also invocation of `AAResults::alias` in Codegen lacks of PtrProvenance argument in MemoryLocation constructors.
> After this fixes AA in MachineScheduler is working fine.
Also here, we will need to pass the ptr_provenance explicitely. Could you point me to a file and location for this case ?
Thanks,
Jeroen Dobbelaere
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69542/new/
https://reviews.llvm.org/D69542
More information about the llvm-commits
mailing list