LLVM 20.0.0git
XtensaMachineFunctionInfo.h
Go to the documentation of this file.
1//==- XtensaMachineFunctionInfo.h - Xtensa machine function info --*- C++ -*-=//
2//
3// The LLVM Compiler Infrastructure
4//
5// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
6// See https://llvm.org/LICENSE.txt for license information.
7// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8//
9//===----------------------------------------------------------------------===//
10//
11// This file declares Xtensa-specific per-machine-function information.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_LIB_TARGET_XTENSA_XTENSAMACHINEFUNCTIONINFO_H
16#define LLVM_LIB_TARGET_XTENSA_XTENSAMACHINEFUNCTIONINFO_H
17
21
22namespace llvm {
23
25 /// FrameIndex of the spill slot for the scratch register in BranchRelaxation.
26 int BranchRelaxationScratchFrameIndex = -1;
27 unsigned VarArgsFirstGPR;
28 int VarArgsOnStackFrameIndex;
29 int VarArgsInRegsFrameIndex;
30
31public:
33 const TargetSubtargetInfo *STI)
34 : VarArgsFirstGPR(0), VarArgsOnStackFrameIndex(0),
35 VarArgsInRegsFrameIndex(0) {}
36
38 return BranchRelaxationScratchFrameIndex;
39 }
41 BranchRelaxationScratchFrameIndex = Index;
42 }
43
44 unsigned getVarArgsFirstGPR() const { return VarArgsFirstGPR; }
45 void setVarArgsFirstGPR(unsigned GPR) { VarArgsFirstGPR = GPR; }
46
47 int getVarArgsOnStackFrameIndex() const { return VarArgsOnStackFrameIndex; }
48 void setVarArgsOnStackFrameIndex(int FI) { VarArgsOnStackFrameIndex = FI; }
49
50 // Get and set the frame index of the first stack vararg.
51 int getVarArgsInRegsFrameIndex() const { return VarArgsInRegsFrameIndex; }
52 void setVarArgsInRegsFrameIndex(int FI) { VarArgsInRegsFrameIndex = FI; }
53};
54
55} // namespace llvm
56
57#endif /* LLVM_LIB_TARGET_XTENSA_XTENSAMACHINEFUNCTIONINFO_H */
uint32_t Index
#define F(x, y, z)
Definition: MD5.cpp:55
TargetSubtargetInfo - Generic base class for all target subtargets.
XtensaMachineFunctionInfo(const Function &F, const TargetSubtargetInfo *STI)
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...