AMDGPU: Mark test as XFAIL in expensive_checks builds
[llvm-project.git] / llvm / lib / Target / Xtensa / XtensaMachineFunctionInfo.h
blobc430562091ba75960e377c570a947fab908d240c
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 //===----------------------------------------------------------------------===//
11 // This file declares Xtensa-specific per-machine-function information.
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_LIB_TARGET_XTENSA_XTENSAMACHINEFUNCTIONINFO_H
16 #define LLVM_LIB_TARGET_XTENSA_XTENSAMACHINEFUNCTIONINFO_H
18 #include "llvm/CodeGen/MachineFrameInfo.h"
19 #include "llvm/CodeGen/MachineFunction.h"
20 #include "llvm/Target/TargetMachine.h"
22 namespace llvm {
24 class XtensaMachineFunctionInfo : public MachineFunctionInfo {
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;
31 public:
32 explicit XtensaMachineFunctionInfo(const Function &F,
33 const TargetSubtargetInfo *STI)
34 : VarArgsFirstGPR(0), VarArgsOnStackFrameIndex(0),
35 VarArgsInRegsFrameIndex(0) {}
37 int getBranchRelaxationScratchFrameIndex() const {
38 return BranchRelaxationScratchFrameIndex;
40 void setBranchRelaxationScratchFrameIndex(int Index) {
41 BranchRelaxationScratchFrameIndex = Index;
44 unsigned getVarArgsFirstGPR() const { return VarArgsFirstGPR; }
45 void setVarArgsFirstGPR(unsigned GPR) { VarArgsFirstGPR = GPR; }
47 int getVarArgsOnStackFrameIndex() const { return VarArgsOnStackFrameIndex; }
48 void setVarArgsOnStackFrameIndex(int FI) { VarArgsOnStackFrameIndex = FI; }
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; }
55 } // namespace llvm
57 #endif /* LLVM_LIB_TARGET_XTENSA_XTENSAMACHINEFUNCTIONINFO_H */