Lines Matching refs:LoADDI
49 bool detectAndFoldOffset(MachineInstr &HiLUI, MachineInstr &LoADDI);
50 void foldOffset(MachineInstr &HiLUI, MachineInstr &LoADDI, MachineInstr &Tail,
93 MachineInstr *&LoADDI) { in INITIALIZE_PASS()
101 LoADDI = &*MRI->use_instr_begin(HiLuiDestReg); in INITIALIZE_PASS()
102 if (LoADDI->getOpcode() != RISCV::ADDI || in INITIALIZE_PASS()
103 LoADDI->getOperand(2).getTargetFlags() != RISCVII::MO_LO || in INITIALIZE_PASS()
104 !LoADDI->getOperand(2).isGlobal() || in INITIALIZE_PASS()
105 LoADDI->getOperand(2).getOffset() != 0) in INITIALIZE_PASS()
114 MachineInstr &LoADDI, in foldOffset() argument
119 LoADDI.getOperand(2).setOffset(Offset); in foldOffset()
123 LoADDI.getOperand(0).getReg()); in foldOffset()
125 << " " << HiLUI << " " << LoADDI;); in foldOffset()
252 MachineInstr &LoADDI) { in detectAndFoldOffset() argument
253 Register DestReg = LoADDI.getOperand(0).getReg(); in detectAndFoldOffset()
278 foldOffset(HiLUI, LoADDI, TailTail, Offset); in detectAndFoldOffset()
284 foldOffset(HiLUI, LoADDI, Tail, Offset); in detectAndFoldOffset()
299 foldOffset(HiLUI, LoADDI, Tail, Offset); in detectAndFoldOffset()
311 foldOffset(HiLUI, LoADDI, Tail, Offset); in detectAndFoldOffset()
365 MachineOperand &ImmOp = LoADDI.getOperand(2); in detectAndFoldOffset()
379 DeadInstrs.insert(&LoADDI); in detectAndFoldOffset()
395 MachineInstr *LoADDI = nullptr; in runOnMachineFunction() local
396 if (!detectLuiAddiGlobal(HiLUI, LoADDI)) in runOnMachineFunction()
399 << *LoADDI->getOperand(2).getGlobal() << "\n"); in runOnMachineFunction()
400 MadeChange |= detectAndFoldOffset(HiLUI, *LoADDI); in runOnMachineFunction()