Deleted Added
full compact
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