MipsSEInstrInfo.cpp (280031) | MipsSEInstrInfo.cpp (283526) |
---|---|
1//===-- MipsSEInstrInfo.cpp - Mips32/64 Instruction Information -----------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 350 unchanged lines hidden (view full) --- 359void MipsSEInstrInfo::adjustStackPtr(unsigned SP, int64_t Amount, 360 MachineBasicBlock &MBB, 361 MachineBasicBlock::iterator I) const { 362 const MipsSubtarget &STI = Subtarget; 363 DebugLoc DL = I != MBB.end() ? I->getDebugLoc() : DebugLoc(); 364 unsigned ADDu = STI.isABI_N64() ? Mips::DADDu : Mips::ADDu; 365 unsigned ADDiu = STI.isABI_N64() ? Mips::DADDiu : Mips::ADDiu; 366 | 1//===-- MipsSEInstrInfo.cpp - Mips32/64 Instruction Information -----------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 350 unchanged lines hidden (view full) --- 359void MipsSEInstrInfo::adjustStackPtr(unsigned SP, int64_t Amount, 360 MachineBasicBlock &MBB, 361 MachineBasicBlock::iterator I) const { 362 const MipsSubtarget &STI = Subtarget; 363 DebugLoc DL = I != MBB.end() ? I->getDebugLoc() : DebugLoc(); 364 unsigned ADDu = STI.isABI_N64() ? Mips::DADDu : Mips::ADDu; 365 unsigned ADDiu = STI.isABI_N64() ? Mips::DADDiu : Mips::ADDiu; 366 |
367 if (Amount == 0) 368 return; 369 |
|
367 if (isInt<16>(Amount))// addi sp, sp, amount 368 BuildMI(MBB, I, DL, get(ADDiu), SP).addReg(SP).addImm(Amount); 369 else { // Expand immediate that doesn't fit in 16-bit. 370 unsigned Reg = loadImmediate(Amount, MBB, I, DL, nullptr); 371 BuildMI(MBB, I, DL, get(ADDu), SP).addReg(SP).addReg(Reg, RegState::Kill); 372 } 373} 374 --- 261 unchanged lines hidden --- | 370 if (isInt<16>(Amount))// addi sp, sp, amount 371 BuildMI(MBB, I, DL, get(ADDiu), SP).addReg(SP).addImm(Amount); 372 else { // Expand immediate that doesn't fit in 16-bit. 373 unsigned Reg = loadImmediate(Amount, MBB, I, DL, nullptr); 374 BuildMI(MBB, I, DL, get(ADDu), SP).addReg(SP).addReg(Reg, RegState::Kill); 375 } 376} 377 --- 261 unchanged lines hidden --- |