LLVM  16.0.0git
VEMachineFunctionInfo.h
Go to the documentation of this file.
1 //===- VEMachineFunctionInfo.h - VE 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 VE specific per-machine-function information.
10 //
11 //===----------------------------------------------------------------------===//
12 #ifndef LLVM_LIB_TARGET_VE_VEMACHINEFUNCTIONINFO_H
13 #define LLVM_LIB_TARGET_VE_VEMACHINEFUNCTIONINFO_H
14 
16 
17 namespace llvm {
18 
20  virtual void anchor();
21 
22 private:
23  Register GlobalBaseReg;
24 
25  /// VarArgsFrameOffset - Frame offset to start of varargs area.
26  int VarArgsFrameOffset;
27 
28  /// IsLeafProc - True if the function is a leaf procedure.
29  bool IsLeafProc;
30 
31 public:
32  VEMachineFunctionInfo() : VarArgsFrameOffset(0), IsLeafProc(false) {}
34  : VarArgsFrameOffset(0), IsLeafProc(false) {}
35 
39  const override;
40 
41  Register getGlobalBaseReg() const { return GlobalBaseReg; }
42  void setGlobalBaseReg(Register Reg) { GlobalBaseReg = Reg; }
43 
44  int getVarArgsFrameOffset() const { return VarArgsFrameOffset; }
45  void setVarArgsFrameOffset(int Offset) { VarArgsFrameOffset = Offset; }
46 
47  void setLeafProc(bool rhs) { IsLeafProc = rhs; }
48  bool isLeafProc() const { return IsLeafProc; }
49 };
50 } // namespace llvm
51 
52 #endif
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
llvm::X86Disassembler::Reg
Reg
All possible values of the reg field in the ModR/M byte.
Definition: X86DisassemblerDecoder.h:462
llvm::VEMachineFunctionInfo::getVarArgsFrameOffset
int getVarArgsFrameOffset() const
Definition: VEMachineFunctionInfo.h:44
llvm::VEMachineFunctionInfo::clone
MachineFunctionInfo * clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
Make a functionally equivalent copy of this MachineFunctionInfo in MF.
Definition: VEMachineFunctionInfo.cpp:15
llvm::VEMachineFunctionInfo::setGlobalBaseReg
void setGlobalBaseReg(Register Reg)
Definition: VEMachineFunctionInfo.h:42
false
Definition: StackSlotColoring.cpp:141
llvm::BumpPtrAllocatorImpl
Allocate memory in an ever growing pool, as if by bump-pointer.
Definition: Allocator.h:63
llvm::DenseMap
Definition: DenseMap.h:714
llvm::VEMachineFunctionInfo::setVarArgsFrameOffset
void setVarArgsFrameOffset(int Offset)
Definition: VEMachineFunctionInfo.h:45
llvm::VEMachineFunctionInfo::getGlobalBaseReg
Register getGlobalBaseReg() const
Definition: VEMachineFunctionInfo.h:41
llvm::VEMachineFunctionInfo::setLeafProc
void setLeafProc(bool rhs)
Definition: VEMachineFunctionInfo.h:47
llvm::MachineFunction
Definition: MachineFunction.h:257
llvm::VEMachineFunctionInfo
Definition: VEMachineFunctionInfo.h:19
llvm::VEMachineFunctionInfo::isLeafProc
bool isLeafProc() const
Definition: VEMachineFunctionInfo.h:48
llvm::Register
Wrapper class representing virtual and physical registers.
Definition: Register.h:19
llvm::VEMachineFunctionInfo::VEMachineFunctionInfo
VEMachineFunctionInfo()
Definition: VEMachineFunctionInfo.h:32
Allocator
Basic Register Allocator
Definition: RegAllocBasic.cpp:143
MachineFunction.h
llvm::MachineFunctionInfo
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
Definition: MachineFunction.h:95
llvm::VEMachineFunctionInfo::VEMachineFunctionInfo
VEMachineFunctionInfo(MachineFunction &MF)
Definition: VEMachineFunctionInfo.h:33