================
@@ -1248,18 +1249,62 @@ void InlineSpiller::spillAroundUses(Register Reg) {
 
     // Create a new virtual register for spill/fill.
     // FIXME: Infer regclass from instruction alone.
-    Register NewVReg = Edit->createFrom(Reg);
+
+    unsigned SubReg = 0;
+    LaneBitmask CoveringLanes = LaneBitmask::getNone();
----------------
cdevadas wrote:

This code is inside the loop that processes each MI that refers the virtual 
register (Reg). As you know, a reload is inserted for each use. The Ops being 
used here is pre-extracted data that contains the MI and the OpIdx of the 
current use. Ops mostly has a single entry, but it can contain multiple entries 
for copy bundles. What you mentioned with LI would be helpful for capturing the 
entire set of alive lanes of the virtual register. However, in this context, 
I’m specifically capturing the subRegMask, particularly important for copy 
bundles that may span multiple disjoint sub-registers of the tuple. I’ve 
mentioned that in the comment as well.

https://github.com/llvm/llvm-project/pull/175002
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to