mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-10 18:34:09 +00:00
2f616bff7e
bugs including making sure that the TOS links back to the previous frame, that the maximum call frame size is not included twice when using frame pointers, no longer growing the frame on calls, double storing of SP and a cleaner/faster dynamic alloca. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31792 91177308-0d34-0410-b5e6-96231b3b80d8
43 lines
1.4 KiB
C++
43 lines
1.4 KiB
C++
//===-- PPCMachineFunctionInfo.h - Private data used for PowerPC --*- C++ -*-=//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file was developed by James M. Laskey and is distributed under
|
|
// the University of Illinois Open Source License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file declares the PowerPC specific subclass of MachineFunctionInfo.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef PPC_MACHINE_FUNCTION_INFO_H
|
|
#define PPC_MACHINE_FUNCTION_INFO_H
|
|
|
|
#include "llvm/CodeGen/MachineFunction.h"
|
|
|
|
namespace llvm {
|
|
|
|
/// PPCFunctionInfo - This class is derived from MachineFunction private
|
|
/// PowerPC target-specific information for each MachineFunction.
|
|
class PPCFunctionInfo : public MachineFunctionInfo {
|
|
private:
|
|
/// FramePointerSaveIndex - Frame index of where the old frame pointer is
|
|
/// stored. Also used as an anchor for instructions that need to be altered
|
|
/// when using frame pointers (dyna_add, dyna_sub.)
|
|
int FramePointerSaveIndex;
|
|
|
|
public:
|
|
PPCFunctionInfo(MachineFunction& MF)
|
|
: FramePointerSaveIndex(0)
|
|
{}
|
|
|
|
int getFramePointerSaveIndex() const { return FramePointerSaveIndex; }
|
|
void setFramePointerSaveIndex(int Idx) { FramePointerSaveIndex = Idx; }
|
|
|
|
};
|
|
|
|
} // end of namespace llvm
|
|
|
|
|
|
#endif |