[PATCH] D84873: AMDGPU: In determining load clobbering in AnnotateUniform, don't scan if there are too many blocks.

Changpeng Fang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 29 14:49:14 PDT 2020


cfang marked an inline comment as done.
cfang added a comment.

In D84873#2182944 <https://reviews.llvm.org/D84873#2182944>, @asbirlea wrote:

> In D84873#2182544 <https://reviews.llvm.org/D84873#2182544>, @arsenm wrote:
>
>> Does MemorySSA have the same problem? Could we just switch this to use MemorySSA?
>
> Disclaimer: I know nothing about this pass or the purpose of this patch, just trying to answer this question.
> MemorySSA has its own internal threshold limiting the number of **memory instructions** that are traversed upwards. It does not care at how many blocks those memory instructions are spread over.

Thanks for the comments! I see that in MemorySSA, it scans 100 memory instructions upwards to find whether it is clobbered.
In our case, we essentially check every basic block,  and a max of also 100 instructions in each block to find the pointer dependence:
MDR->getPointerDependencyFrom(MemoryLocation(Ptr), true, StartIt, BB, Load);
At this moment, I am not clear how can we use the existing functionality in MemorySSA for our purpose.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D84873/new/

https://reviews.llvm.org/D84873



More information about the llvm-commits mailing list