X86RegisterInfo.h (212904) | X86RegisterInfo.h (218893) |
---|---|
1//===- X86RegisterInfo.h - X86 Register Information Impl --------*- C++ -*-===// 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//===----------------------------------------------------------------------===// --- 97 unchanged lines hidden (view full) --- 106 const unsigned *getCalleeSavedRegs(const MachineFunction* MF = 0) const; 107 108 /// getReservedRegs - Returns a bitset indexed by physical register number 109 /// indicating if a register is a special register that has particular uses and 110 /// should be considered unavailable at all times, e.g. SP, RA. This is used by 111 /// register scavenger to determine what registers are free. 112 BitVector getReservedRegs(const MachineFunction &MF) const; 113 | 1//===- X86RegisterInfo.h - X86 Register Information Impl --------*- C++ -*-===// 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//===----------------------------------------------------------------------===// --- 97 unchanged lines hidden (view full) --- 106 const unsigned *getCalleeSavedRegs(const MachineFunction* MF = 0) const; 107 108 /// getReservedRegs - Returns a bitset indexed by physical register number 109 /// indicating if a register is a special register that has particular uses and 110 /// should be considered unavailable at all times, e.g. SP, RA. This is used by 111 /// register scavenger to determine what registers are free. 112 BitVector getReservedRegs(const MachineFunction &MF) const; 113 |
114 bool hasFP(const MachineFunction &MF) const; 115 | |
116 bool canRealignStack(const MachineFunction &MF) const; 117 118 bool needsStackRealignment(const MachineFunction &MF) const; 119 | 114 bool canRealignStack(const MachineFunction &MF) const; 115 116 bool needsStackRealignment(const MachineFunction &MF) const; 117 |
120 bool hasReservedCallFrame(const MachineFunction &MF) const; 121 | |
122 bool hasReservedSpillSlot(const MachineFunction &MF, unsigned Reg, 123 int &FrameIdx) const; 124 125 void eliminateCallFramePseudoInstr(MachineFunction &MF, 126 MachineBasicBlock &MBB, 127 MachineBasicBlock::iterator MI) const; 128 129 void eliminateFrameIndex(MachineBasicBlock::iterator MI, 130 int SPAdj, RegScavenger *RS = NULL) const; 131 | 118 bool hasReservedSpillSlot(const MachineFunction &MF, unsigned Reg, 119 int &FrameIdx) const; 120 121 void eliminateCallFramePseudoInstr(MachineFunction &MF, 122 MachineBasicBlock &MBB, 123 MachineBasicBlock::iterator MI) const; 124 125 void eliminateFrameIndex(MachineBasicBlock::iterator MI, 126 int SPAdj, RegScavenger *RS = NULL) const; 127 |
132 void processFunctionBeforeCalleeSavedScan(MachineFunction &MF, 133 RegScavenger *RS = NULL) const; 134 135 void emitCalleeSavedFrameMoves(MachineFunction &MF, MCSymbol *Label, 136 unsigned FramePtr) const; 137 void emitPrologue(MachineFunction &MF) const; 138 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const; 139 | |
140 // Debug information queries. 141 unsigned getRARegister() const; 142 unsigned getFrameRegister(const MachineFunction &MF) const; | 128 // Debug information queries. 129 unsigned getRARegister() const; 130 unsigned getFrameRegister(const MachineFunction &MF) const; |
143 int getFrameIndexOffset(const MachineFunction &MF, int FI) const; 144 void getInitialFrameState(std::vector<MachineMove> &Moves) const; | 131 unsigned getStackRegister() const { return StackPtr; } 132 // FIXME: Move to FrameInfok 133 unsigned getSlotSize() const { return SlotSize; } |
145 146 // Exception handling queries. 147 unsigned getEHExceptionRegister() const; 148 unsigned getEHHandlerRegister() const; 149}; 150 151// getX86SubSuperRegister - X86 utility function. It returns the sub or super 152// register of a specific X86 register. 153// e.g. getX86SubSuperRegister(X86::EAX, EVT::i16) return X86:AX 154unsigned getX86SubSuperRegister(unsigned, EVT, bool High=false); 155 156} // End llvm namespace 157 158#endif | 134 135 // Exception handling queries. 136 unsigned getEHExceptionRegister() const; 137 unsigned getEHHandlerRegister() const; 138}; 139 140// getX86SubSuperRegister - X86 utility function. It returns the sub or super 141// register of a specific X86 register. 142// e.g. getX86SubSuperRegister(X86::EAX, EVT::i16) return X86:AX 143unsigned getX86SubSuperRegister(unsigned, EVT, bool High=false); 144 145} // End llvm namespace 146 147#endif |