LLVM  9.0.0svn
SparcMachineFunctionInfo.h
Go to the documentation of this file.
1 //===- SparcMachineFunctionInfo.h - Sparc Machine Function Info -*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file declares Sparc specific per-machine-function information.
10 //
11 //===----------------------------------------------------------------------===//
12 #ifndef LLVM_LIB_TARGET_SPARC_SPARCMACHINEFUNCTIONINFO_H
13 #define LLVM_LIB_TARGET_SPARC_SPARCMACHINEFUNCTIONINFO_H
14 
16 
17 namespace llvm {
18 
20  virtual void anchor();
21  private:
22  unsigned GlobalBaseReg;
23 
24  /// VarArgsFrameOffset - Frame offset to start of varargs area.
25  int VarArgsFrameOffset;
26 
27  /// SRetReturnReg - Holds the virtual register into which the sret
28  /// argument is passed.
29  unsigned SRetReturnReg;
30 
31  /// IsLeafProc - True if the function is a leaf procedure.
32  bool IsLeafProc;
33  public:
35  : GlobalBaseReg(0), VarArgsFrameOffset(0), SRetReturnReg(0),
36  IsLeafProc(false) {}
38  : GlobalBaseReg(0), VarArgsFrameOffset(0), SRetReturnReg(0),
39  IsLeafProc(false) {}
40 
41  unsigned getGlobalBaseReg() const { return GlobalBaseReg; }
42  void setGlobalBaseReg(unsigned Reg) { GlobalBaseReg = Reg; }
43 
44  int getVarArgsFrameOffset() const { return VarArgsFrameOffset; }
45  void setVarArgsFrameOffset(int Offset) { VarArgsFrameOffset = Offset; }
46 
47  unsigned getSRetReturnReg() const { return SRetReturnReg; }
48  void setSRetReturnReg(unsigned Reg) { SRetReturnReg = Reg; }
49 
50  void setLeafProc(bool rhs) { IsLeafProc = rhs; }
51  bool isLeafProc() const { return IsLeafProc; }
52  };
53 }
54 
55 #endif
This class represents lattice values for constants.
Definition: AllocatorList.h:23
unsigned Reg
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
SparcMachineFunctionInfo(MachineFunction &MF)