[llvm] [WIP][PowerPC] Add phony subregisters to cover the high half of the VSX registers. (PR #94628)

Stefan Pintilie via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 20 07:51:34 PDT 2024


================
@@ -3672,6 +3672,14 @@ bool RegisterCoalescer::joinVirtRegs(CoalescerPair &CP) {
     // having stale segments.
     LHSVals.pruneMainSegments(LHS, ShrinkMainRange);
 
+    LHSVals.pruneSubRegValues(LHS, ShrinkMask);
+    RHSVals.pruneSubRegValues(LHS, ShrinkMask);
+  } else if (TrackSubRegLiveness && !CP.getDstIdx() && CP.getSrcIdx()) {
----------------
stefanp-ibm wrote:

> I'm not sure we can achieve it in short term. Grep a bit, PowerPC has the most lines of code involving `SUBREG_TO_REG` comparing to X86 and AArch64.

I agree we should be moving away from `SUBREG_TO_REG` however I also agree that for PowerPC this is more of a long term goal. For this patch we will probably have to continue like this.

https://github.com/llvm/llvm-project/pull/94628


More information about the llvm-commits mailing list