blob: c1bec0aae7e48602afa4443c047ab7f33b08b9d2 [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
13#ifndef R600MACHINEFUNCTIONINFO_H
14#define R600MACHINEFUNCTIONINFO_H
15
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 {
Juergen Ributzkad12ccbd2013-11-19 00:57:56 +000024 virtual void anchor();
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
34#endif //R600MACHINEFUNCTIONINFO_H