LLVM  8.0.1
Typedefs | Functions
Thumb1FrameLowering.cpp File Reference
#include "Thumb1FrameLowering.h"
#include "ARMBaseInstrInfo.h"
#include "ARMBaseRegisterInfo.h"
#include "ARMMachineFunctionInfo.h"
#include "ARMSubtarget.h"
#include "Thumb1InstrInfo.h"
#include "ThumbRegisterInfo.h"
#include "Utils/ARMBaseInfo.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/LivePhysRegs.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include <bitset>
#include <cassert>
#include <iterator>
#include <vector>
Include dependency graph for Thumb1FrameLowering.cpp:

Go to the source code of this file.

Typedefs

using ARMRegSet = std::bitset< ARM::NUM_TARGET_REGS >
 

Functions

static void emitSPUpdate (MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, const TargetInstrInfo &TII, const DebugLoc &dl, const ThumbRegisterInfo &MRI, int NumBytes, unsigned MIFlags=MachineInstr::NoFlags)
 
static bool isCSRestore (MachineInstr &MI, const MCPhysReg *CSRegs)
 
static void findTemporariesForLR (const BitVector &GPRsNoLRSP, const BitVector &PopFriendly, const LivePhysRegs &UsedRegs, unsigned &PopReg, unsigned &TmpReg)
 
static const unsignedfindNextOrderedReg (const unsigned *CurrentReg, const ARMRegSet &EnabledRegs, const unsigned *OrderEnd)
 

Typedef Documentation

◆ ARMRegSet

using ARMRegSet = std::bitset<ARM::NUM_TARGET_REGS>

Definition at line 726 of file Thumb1FrameLowering.cpp.

Function Documentation

◆ emitSPUpdate()

static void emitSPUpdate ( MachineBasicBlock MBB,
MachineBasicBlock::iterator MBBI,
const TargetInstrInfo TII,
const DebugLoc dl,
const ThumbRegisterInfo MRI,
int  NumBytes,
unsigned  MIFlags = MachineInstr::NoFlags 
)
static

◆ findNextOrderedReg()

static const unsigned* findNextOrderedReg ( const unsigned CurrentReg,
const ARMRegSet EnabledRegs,
const unsigned OrderEnd 
)
static

◆ findTemporariesForLR()

static void findTemporariesForLR ( const BitVector GPRsNoLRSP,
const BitVector PopFriendly,
const LivePhysRegs UsedRegs,
unsigned PopReg,
unsigned TmpReg 
)
static

◆ isCSRestore()

static bool isCSRestore ( MachineInstr MI,
const MCPhysReg *  CSRegs 
)
static