blob: 263561edd30d7348f1e21dab2aa79aef9c7a8298 [file] [log] [blame]
Tom Stellard75aadc22012-12-11 21:25:42 +00001//===-- R600MachineFunctionInfo.h - R600 Machine Function Info ----*- 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/// \file
11//===----------------------------------------------------------------------===//
12
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000013#ifndef LLVM_LIB_TARGET_R600_R600MACHINEFUNCTIONINFO_H
14#define LLVM_LIB_TARGET_R600_R600MACHINEFUNCTIONINFO_H
Tom Stellard75aadc22012-12-11 21:25:42 +000015
Benjamin Kramerd78bb462013-05-23 17:10:37 +000016#include "AMDGPUMachineFunction.h"
Tom Stellardf3b2a1e2013-02-06 17:32:29 +000017#include "llvm/ADT/BitVector.h"
Tom Stellard75aadc22012-12-11 21:25:42 +000018#include "llvm/CodeGen/SelectionDAG.h"
19#include <vector>
20
21namespace llvm {
22
Vincent Lejeuneace6f732013-04-01 21:47:53 +000023class R600MachineFunctionInfo : public AMDGPUMachineFunction {
Craig Topper5656db42014-04-29 07:57:24 +000024 void anchor() override;
Tom Stellard75aadc22012-12-11 21:25:42 +000025public:
26 R600MachineFunctionInfo(const MachineFunction &MF);
Jakob Stoklund Olesenfdc37672013-02-05 17:53:52 +000027 SmallVector<unsigned, 4> LiveOuts;
Tom Stellardf3b2a1e2013-02-06 17:32:29 +000028 std::vector<unsigned> IndirectRegs;
Vincent Lejeune117f0752013-04-23 17:34:12 +000029 unsigned StackSize;
Tom Stellard75aadc22012-12-11 21:25:42 +000030};
31
32} // End llvm namespace
33
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000034#endif