[PATCH] D23687: AMDGPU/SI: Use a better method for determining the largest pressure sets

Tom Stellard via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 19 13:54:07 PDT 2016


tstellarAMD added inline comments.

================
Comment at: lib/Target/AMDGPU/SIRegisterInfo.h:190-195
@@ -189,1 +189,8 @@
 
+  bool isSGPRPressureSet(unsigned SetID) const {
+    return SGPRPressureSets.test(SetID) && !VGPRPressureSets.test(SetID);
+  }
+  bool isVGPRPressureSet(unsigned SetID) const {
+    return VGPRPressureSets.test(SetID) && !SGPRPressureSets.test(SetID);
+  }
+
----------------
arsenm wrote:
> tstellarAMD wrote:
> > arsenm wrote:
> > > Why do these need to check that it's not in the other set? Are there still issues from VS_32 being allocatable?
> > Yes, we need to make sure we ignore VS_32.
> But you should never see a VS_32 virtual register. Will this be fixed when making it unallocatable? This probably needs a comment/fixme
It's not about virtual registers, the VS_32 register pressure set contains all sgprs and vgprs, so the pressure set is affected by pretty much every register operand.  I think making it unallocatable will fix this, but we probably still want an assert or something to making register sets with sgprs and vgprs is never created.


https://reviews.llvm.org/D23687





More information about the llvm-commits mailing list