[PATCH] D101177: [AMDGPU] Skip invariant loads when avoiding WAR conflicts

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 12 05:39:02 PDT 2021


arsenm added inline comments.


================
Comment at: llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp:1529
+        if (!Memop->isInvariant()) {
+          const Value *Ptr = Memop->getValue();
+          SLoadAddresses.insert(std::make_pair(Ptr, Inst.getParent()));
----------------
foad wrote:
> Might be worth asserting that Ptr is not null here, since that's what caused the problem in the first place?
Not having the value set is *not* an error. This should not be an assert. This is a situation that needs to work. If we had two loads if converted into a select on the pointer, it would have been correct to strip out the IR value


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D101177



More information about the llvm-commits mailing list