[llvm] [CodeGen][MachineLICM] Use RegUnits in HoistRegionPostRA (PR #94608)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 11 08:34:21 PDT 2024


================
@@ -423,10 +423,47 @@ static bool InstructionStoresToFI(const MachineInstr *MI, int FI) {
   return false;
 }
 
+static void applyBitsNotInRegMaskToRegUnitsMask(const TargetRegisterInfo &TRI,
----------------
jayfoad wrote:

This seems conceptually wrong. A regmask tells you which registers are preserved by the call, so all the regunits in all those registers are preserved. That does _not_ imply that all regunits used by all registers not in the mask will be clobbered.

E.g. (AMDGPU example) if only v[0:1] is preserved then v[1:2] would not be in the regmask, but that does not imply that v1 is clobbered.

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


More information about the llvm-commits mailing list