Path: blob/main/contrib/llvm-project/llvm/lib/Target/NVPTX/NVPTXFrameLowering.h
35271 views
//===--- NVPTXFrameLowering.h - Define frame lowering for NVPTX -*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//7//8//9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_TARGET_NVPTX_NVPTXFRAMELOWERING_H13#define LLVM_LIB_TARGET_NVPTX_NVPTXFRAMELOWERING_H1415#include "llvm/CodeGen/TargetFrameLowering.h"16#include "llvm/Support/TypeSize.h"1718namespace llvm {1920class NVPTXFrameLowering : public TargetFrameLowering {21public:22explicit NVPTXFrameLowering();2324bool hasFP(const MachineFunction &MF) const override;25void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;26void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;27StackOffset getFrameIndexReference(const MachineFunction &MF, int FI,28Register &FrameReg) const override;2930MachineBasicBlock::iterator31eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,32MachineBasicBlock::iterator I) const override;33DwarfFrameBase getDwarfFrameBase(const MachineFunction &MF) const override;34};3536} // End llvm namespace3738#endif394041