[llvm] [AArch64] Correctly fetch RegState from LOADgot (PR #177411)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 22 10:02:43 PST 2026


================
@@ -1430,7 +1430,7 @@ bool AArch64ExpandPseudo::expandMI(MachineBasicBlock &MBB,
       if (MF.getSubtarget<AArch64Subtarget>().isTargetILP32()) {
         auto TRI = MBB.getParent()->getSubtarget().getRegisterInfo();
         unsigned Reg32 = TRI->getSubReg(DstReg, AArch64::sub_32);
-        unsigned DstFlags = MI.getOperand(0).getTargetFlags();
+        unsigned DstFlags = getRegState(MI.getOperand(0));
----------------
topperc wrote:

Do we need to clean flags that aren't valid for a use operand? It looks getTargetFlags() would have always returned 0 if I'm reading this correctly

```
  unsigned getTargetFlags() const {                                              
    return isReg() ? 0 : SubReg_TargetFlags;                                     
  } 
```

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


More information about the llvm-commits mailing list