Lines Matching refs:HiLUI
49 bool detectAndFoldOffset(MachineInstr &HiLUI, MachineInstr &LoADDI);
50 void foldOffset(MachineInstr &HiLUI, MachineInstr &LoADDI, MachineInstr &Tail,
92 bool RISCVMergeBaseOffsetOpt::detectLuiAddiGlobal(MachineInstr &HiLUI, in INITIALIZE_PASS()
94 if (HiLUI.getOpcode() != RISCV::LUI || in INITIALIZE_PASS()
95 HiLUI.getOperand(1).getTargetFlags() != RISCVII::MO_HI || in INITIALIZE_PASS()
96 !HiLUI.getOperand(1).isGlobal() || in INITIALIZE_PASS()
97 HiLUI.getOperand(1).getOffset() != 0 || in INITIALIZE_PASS()
98 !MRI->hasOneUse(HiLUI.getOperand(0).getReg())) in INITIALIZE_PASS()
100 Register HiLuiDestReg = HiLUI.getOperand(0).getReg(); in INITIALIZE_PASS()
113 void RISCVMergeBaseOffsetOpt::foldOffset(MachineInstr &HiLUI, in foldOffset() argument
118 HiLUI.getOperand(1).setOffset(Offset); in foldOffset()
125 << " " << HiLUI << " " << LoADDI;); in foldOffset()
251 bool RISCVMergeBaseOffsetOpt::detectAndFoldOffset(MachineInstr &HiLUI, in detectAndFoldOffset() argument
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()
364 HiLUI.getOperand(1).setOffset(*CommonOffset); in detectAndFoldOffset()
376 UseMI.getOperand(1).setReg(HiLUI.getOperand(0).getReg()); in detectAndFoldOffset()
394 for (MachineInstr &HiLUI : MBB) { in runOnMachineFunction()
396 if (!detectLuiAddiGlobal(HiLUI, LoADDI)) in runOnMachineFunction()
400 MadeChange |= detectAndFoldOffset(HiLUI, *LoADDI); in runOnMachineFunction()