[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