mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-15 05:24:01 +00:00
move MachineFrameInfo::CreateFixedObject out of line, give MachineFrameInfo
a reference to TargetFrameInfo. Rearrange order of fields in StackObject to save a word. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46348 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -126,7 +126,7 @@ MachineFunction::MachineFunction(const Function *F,
|
||||
: Annotation(MF_AID), Fn(F), Target(TM) {
|
||||
RegInfo = new MachineRegisterInfo(*TM.getRegisterInfo());
|
||||
MFInfo = 0;
|
||||
FrameInfo = new MachineFrameInfo();
|
||||
FrameInfo = new MachineFrameInfo(*TM.getFrameInfo());
|
||||
ConstantPool = new MachineConstantPool(TM.getTargetData());
|
||||
|
||||
// Set up jump table.
|
||||
@ -331,6 +331,19 @@ MachineFunction& MachineFunction::get(const Function *F)
|
||||
// MachineFrameInfo implementation
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
/// CreateFixedObject - Create a new object at a fixed location on the stack.
|
||||
/// All fixed objects should be created before other objects are created for
|
||||
/// efficiency. By default, fixed objects are immutable. This returns an
|
||||
/// index with a negative value.
|
||||
///
|
||||
int MachineFrameInfo::CreateFixedObject(uint64_t Size, int64_t SPOffset,
|
||||
bool Immutable) {
|
||||
assert(Size != 0 && "Cannot allocate zero size fixed stack objects!");
|
||||
Objects.insert(Objects.begin(), StackObject(Size, 1, SPOffset, Immutable));
|
||||
return -++NumFixedObjects;
|
||||
}
|
||||
|
||||
|
||||
void MachineFrameInfo::print(const MachineFunction &MF, std::ostream &OS) const{
|
||||
int ValOffset = MF.getTarget().getFrameInfo()->getOffsetOfLocalArea();
|
||||
|
||||
|
Reference in New Issue
Block a user