1 //===-- PowerPCFrameInfo.h - Define TargetFrameInfo for PowerPC -*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file was developed by the LLVM research group and is distributed under
6 // the University of Illinois Open Source License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
11 //----------------------------------------------------------------------------
13 #ifndef POWERPC_FRAMEINFO_H
14 #define POWERPC_FRAMEINFO_H
17 #include "llvm/Target/TargetFrameInfo.h"
18 #include "llvm/Target/TargetMachine.h"
19 #include "llvm/Target/MRegisterInfo.h"
24 class PowerPCFrameInfo: public TargetFrameInfo {
25 const TargetMachine &TM;
26 std::pair<unsigned, int> LR[1];
30 PowerPCFrameInfo(const TargetMachine &inTM)
31 : TargetFrameInfo(TargetFrameInfo::StackGrowsDown, 16, 0), TM(inTM) {
32 LR[0].first = PPC::LR;
36 const std::pair<unsigned, int> *
37 getCalleeSaveSpillSlots(unsigned &NumEntries) const {
39 return static_cast<const std::pair<unsigned, int> *>(LR);
43 } // End llvm namespace