Home | History | Annotate | Download | only in Hexagon

Lines Matching refs:MI

126   MachineInstr &MI = *II;
127 int FrameIndex = MI.getOperand(FIOperandNum).getIndex();
130 MachineFunction &MF = *MI.getParent()->getParent();
146 TII.isValidOffset(MI.getOpcode(), (FrameSize+Offset)) &&
147 !TII.isSpillPredRegOp(&MI)) {
149 MI.getOperand(FIOperandNum).ChangeToRegister(getStackRegister(), false,
151 MI.getOperand(FIOperandNum + 1).ChangeToImmediate(FrameSize+Offset);
154 if (!TII.isValidOffset(MI.getOpcode(), Offset)) {
163 if ( (MI.getOpcode() == Hexagon::LDriw) ||
164 (MI.getOpcode() == Hexagon::LDrid) ||
165 (MI.getOpcode() == Hexagon::LDrih) ||
166 (MI.getOpcode() == Hexagon::LDriuh) ||
167 (MI.getOpcode() == Hexagon::LDrib) ||
168 (MI.getOpcode() == Hexagon::LDriub) ||
169 (MI.getOpcode() == Hexagon::LDriw_f) ||
170 (MI.getOpcode() == Hexagon::LDrid_f)) {
171 unsigned dstReg = (MI.getOpcode() == Hexagon::LDrid) ?
172 getSubReg(MI.getOperand(0).getReg(), Hexagon::subreg_loreg) :
173 MI.getOperand(0).getReg();
177 BuildMI(*MI.getParent(), II, MI.getDebugLoc(),
179 BuildMI(*MI.getParent(), II, MI.getDebugLoc(),
183 BuildMI(*MI.getParent(), II, MI.getDebugLoc(),
188 MI.getOperand(FIOperandNum).ChangeToRegister(dstReg, false, false,true);
189 MI.getOperand(FIOperandNum+1).ChangeToImmediate(0);
190 } else if ((MI.getOpcode() == Hexagon::STriw_indexed) ||
191 (MI.getOpcode() == Hexagon::STriw) ||
192 (MI.getOpcode() == Hexagon::STrid) ||
193 (MI.getOpcode() == Hexagon::STrih) ||
194 (MI.getOpcode() == Hexagon::STrib) ||
195 (MI.getOpcode() == Hexagon::STrid_f) ||
196 (MI.getOpcode() == Hexagon::STriw_f)) {
206 BuildMI(*MI.getParent(), II, MI.getDebugLoc(),
208 BuildMI(*MI.getParent(), II, MI.getDebugLoc(),
212 BuildMI(*MI.getParent(), II, MI.getDebugLoc(),
216 MI.getOperand(FIOperandNum).ChangeToRegister(resReg, false, false,true);
217 MI.getOperand(FIOperandNum+1).ChangeToImmediate(0);
218 } else if (TII.isMemOp(&MI)) {
222 if (TII.isConstExtended(&MI)) {
223 MI.getOperand(FIOperandNum).ChangeToRegister(FrameReg, false);
224 MI.getOperand(FIOperandNum+1).ChangeToImmediate(Offset);
225 TII.immediateExtend(&MI);
233 TII.isValidOffset(MI.getOpcode(), (FrameSize+Offset))) {
234 MI.getOperand(FIOperandNum).ChangeToRegister(getStackRegister(),
236 MI.getOperand(FIOperandNum+1).ChangeToImmediate(FrameSize+Offset);
238 BuildMI(*MI.getParent(), II, MI.getDebugLoc(),
240 BuildMI(*MI.getParent(), II, MI.getDebugLoc(),
243 MI.getOperand(FIOperandNum).ChangeToRegister(ResReg, false, false,
245 MI.getOperand(FIOperandNum+1).ChangeToImmediate(0);
247 BuildMI(*MI.getParent(), II, MI.getDebugLoc(),
250 MI.getOperand(FIOperandNum).ChangeToRegister(ResReg, false, false,
252 MI.getOperand(FIOperandNum+1).ChangeToImmediate(0);
256 unsigned dstReg = MI.getOperand(0).getReg();
257 BuildMI(*MI.getParent(), II, MI.getDebugLoc(),
259 BuildMI(*MI.getParent(), II, MI.getDebugLoc(),
262 // Can we delete MI??? r2 = add (r2, #0).
263 MI.getOperand(FIOperandNum).ChangeToRegister(dstReg, false, false,true);
264 MI.getOperand(FIOperandNum+1).ChangeToImmediate(0);
269 MI.getOperand(FIOperandNum).ChangeToRegister(FrameReg, false);
270 MI.getOperand(FIOperandNum+1).ChangeToImmediate(Offset);