Fix uninitialized variable
[llvm-core.git] / lib / Target / Sparc / SparcRegisterInfo.h
blob8dd2569d10defa280f5ffaaa46a863a0c79120fb
1 //===-- SparcRegisterInfo.h - Sparc 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 //===----------------------------------------------------------------------===//
9 //
10 // This file contains the Sparc implementation of the TargetRegisterInfo class.
12 //===----------------------------------------------------------------------===//
14 #ifndef LLVM_LIB_TARGET_SPARC_SPARCREGISTERINFO_H
15 #define LLVM_LIB_TARGET_SPARC_SPARCREGISTERINFO_H
17 #include "llvm/CodeGen/TargetRegisterInfo.h"
19 #define GET_REGINFO_HEADER
20 #include "SparcGenRegisterInfo.inc"
22 namespace llvm {
23 struct SparcRegisterInfo : public SparcGenRegisterInfo {
24 SparcRegisterInfo();
26 /// Code Generation virtual methods...
27 const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override;
28 const uint32_t *getCallPreservedMask(const MachineFunction &MF,
29 CallingConv::ID CC) const override;
31 const uint32_t* getRTCallPreservedMask(CallingConv::ID CC) const;
33 BitVector getReservedRegs(const MachineFunction &MF) const override;
35 const TargetRegisterClass *getPointerRegClass(const MachineFunction &MF,
36 unsigned Kind) const override;
38 void eliminateFrameIndex(MachineBasicBlock::iterator II,
39 int SPAdj, unsigned FIOperandNum,
40 RegScavenger *RS = nullptr) const override;
42 unsigned getFrameRegister(const MachineFunction &MF) const override;
44 bool canRealignStack(const MachineFunction &MF) const override;
48 } // end namespace llvm
50 #endif