[PATCH] D144070: [llvm][GenericUniformity] Prevent assert while calculating temporal divergence
Yashwant Singh via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 16 04:15:25 PST 2023
yassingh added inline comments.
================
Comment at: llvm/lib/CodeGen/MachineUniformityAnalysis.cpp:108
+ // assert(Reg.isVirtual());
+ if (Reg.isPhysical())
+ continue;
----------------
sameerds wrote:
> What does it mean to continue here? Is it true that a physical register cannot be written inside the cycle? A comment explaining why will be useful.
Didn't get around to putting a lot of thought into it. Physical register operands need to be handled separately, which might also include sub-cases if it's an exec mask or function parameters/return values, etc. Continue here is just a placeholder until we have a way to deal with them.
================
Comment at: llvm/test/Analysis/DivergenceAnalysis/AMDGPU/MIR/uses-value-from-cycle.mir:4
+--- |
+ define amdgpu_cs void @f2() #0 {
+ bb:
----------------
arsenm wrote:
> Shouldn't need IR section?
I took the tests from [[ https://github.com/llvm/llvm-project/issues/60638 | #60638]] (extracted the GMIR input that was fed to uniformity analysis). I wasn't able to use @llvm.amdgcn.raw.atomic.buffer.load without including the IR section. Is there a workaround?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144070/new/
https://reviews.llvm.org/D144070
More information about the llvm-commits
mailing list