[llvm] [AArch64] Expand FORM_TRANSPOSED_REG_TUPLE to copies before regalloc (PR #207205)

Benjamin Maxwell via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 3 02:54:37 PDT 2026


================
@@ -58,6 +58,15 @@ def FORM_TRANSPOSED_REG_TUPLE_X4_PSEUDO :
   let hasSideEffects = 0;
 }
 
+// Expanded form of FORM_TRANSPOSED_REG_TUPLE. Each FORM_TRANSPOSED_REG_TUPLE is
+// expanded to one or more copies immediately before register allocation. This
+// ensures the live ranges of each member of the tuple are correctly modelled
+// during register allocation.
----------------
MacDue wrote:

The "COPY_INTO_TRANSPOSED_TUPLE" operations need to be found by the hints in `AArch64RegisterInfo::getRegAllocationHints`. I think having a custom opcode makes that matching a little more reliable.  

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


More information about the llvm-commits mailing list