blob: 320ca9a2f095d62eb85c813ce93f7337cea20a48 [file] [log] [blame]
Justin Holewinskiae556d32012-05-04 20:18:50 +00001//===--- NVPTXFrameLowering.h - Define frame lowering for NVPTX -*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10//
11//
12//===----------------------------------------------------------------------===//
13
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000014#ifndef LLVM_LIB_TARGET_NVPTX_NVPTXFRAMELOWERING_H
15#define LLVM_LIB_TARGET_NVPTX_NVPTXFRAMELOWERING_H
Justin Holewinskiae556d32012-05-04 20:18:50 +000016
17#include "llvm/Target/TargetFrameLowering.h"
18
Justin Holewinskiae556d32012-05-04 20:18:50 +000019namespace llvm {
Eric Christopherdd440f82014-06-27 02:05:24 +000020class NVPTXSubtarget;
Justin Holewinskiae556d32012-05-04 20:18:50 +000021class NVPTXFrameLowering : public TargetFrameLowering {
Justin Holewinskiae556d32012-05-04 20:18:50 +000022public:
Eric Christopher02389e32015-02-19 00:08:27 +000023 explicit NVPTXFrameLowering();
Justin Holewinskiae556d32012-05-04 20:18:50 +000024
Craig Topper2865c982014-04-29 07:57:44 +000025 bool hasFP(const MachineFunction &MF) const override;
Quentin Colombet61b305e2015-05-05 17:38:16 +000026 void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
Craig Topper2865c982014-04-29 07:57:44 +000027 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override;
Eli Bendersky8da87162013-02-21 20:05:00 +000028
Hans Wennborge1a2e902016-03-31 18:33:38 +000029 MachineBasicBlock::iterator
Eric Christopher02389e32015-02-19 00:08:27 +000030 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,
31 MachineBasicBlock::iterator I) const override;
Justin Holewinskiae556d32012-05-04 20:18:50 +000032};
33
Alexander Kornienkof00654e2015-06-23 09:49:53 +000034} // End llvm namespace
Justin Holewinskiae556d32012-05-04 20:18:50 +000035
36#endif