Lines Matching refs:LoADDI

46   bool detectAndFoldOffset(MachineInstr &HiLUI, MachineInstr &LoADDI);
47 void foldOffset(MachineInstr &HiLUI, MachineInstr &LoADDI, MachineInstr &Tail,
82 MachineInstr *&LoADDI) { in detectLuiAddiGlobal() argument
90 LoADDI = MRI->use_begin(HiLuiDestReg)->getParent(); in detectLuiAddiGlobal()
91 if (LoADDI->getOpcode() != RISCV::ADDI || in detectLuiAddiGlobal()
92 LoADDI->getOperand(2).getTargetFlags() != RISCVII::MO_LO || in detectLuiAddiGlobal()
93 LoADDI->getOperand(2).getType() != MachineOperand::MO_GlobalAddress || in detectLuiAddiGlobal()
94 LoADDI->getOperand(2).getOffset() != 0 || in detectLuiAddiGlobal()
95 !MRI->hasOneUse(LoADDI->getOperand(0).getReg())) in detectLuiAddiGlobal()
104 MachineInstr &LoADDI, in foldOffset() argument
108 LoADDI.getOperand(2).setOffset(Offset); in foldOffset()
112 LoADDI.getOperand(0).getReg()); in foldOffset()
114 << " " << HiLUI << " " << LoADDI;); in foldOffset()
181 MachineInstr &LoADDI) { in detectAndFoldOffset() argument
182 unsigned DestReg = LoADDI.getOperand(0).getReg(); in detectAndFoldOffset()
195 foldOffset(HiLUI, LoADDI, Tail, Offset); in detectAndFoldOffset()
210 foldOffset(HiLUI, LoADDI, Tail, Offset); in detectAndFoldOffset()
245 MachineOperand &ImmOp = LoADDI.getOperand(2); in detectAndFoldOffset()
252 DeadInstrs.insert(&LoADDI); in detectAndFoldOffset()
268 MachineInstr *LoADDI = nullptr; in runOnMachineFunction() local
269 if (!detectLuiAddiGlobal(HiLUI, LoADDI)) in runOnMachineFunction()
272 << *LoADDI->getOperand(2).getGlobal() << "\n"); in runOnMachineFunction()
274 detectAndFoldOffset(HiLUI, *LoADDI); in runOnMachineFunction()