blob: 04a4436ebe0372ce93c9cef7a374ae67d9887ee5 [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
Matt Arsenault6b6a2c32016-03-11 08:00:27 +000013#ifndef LLVM_LIB_TARGET_AMDGPU_R600MACHINEFUNCTIONINFO_H
14#define LLVM_LIB_TARGET_AMDGPU_R600MACHINEFUNCTIONINFO_H
Tom Stellard75aadc22012-12-11 21:25:42 +000015
Benjamin Kramerd78bb462013-05-23 17:10:37 +000016#include "AMDGPUMachineFunction.h"
Tom Stellard75aadc22012-12-11 21:25:42 +000017#include "llvm/CodeGen/SelectionDAG.h"
18#include <vector>
19
20namespace llvm {
21
Matt Arsenault6b6a2c32016-03-11 08:00:27 +000022class R600MachineFunctionInfo final : public AMDGPUMachineFunction {
Craig Topper5656db42014-04-29 07:57:24 +000023 void anchor() override;
Tom Stellard75aadc22012-12-11 21:25:42 +000024public:
25 R600MachineFunctionInfo(const MachineFunction &MF);
Jakob Stoklund Olesenfdc37672013-02-05 17:53:52 +000026 SmallVector<unsigned, 4> LiveOuts;
Tom Stellardf3b2a1e2013-02-06 17:32:29 +000027 std::vector<unsigned> IndirectRegs;
Vincent Lejeune117f0752013-04-23 17:34:12 +000028 unsigned StackSize;
Tom Stellard75aadc22012-12-11 21:25:42 +000029};
30
Alexander Kornienkof00654e2015-06-23 09:49:53 +000031} // End llvm namespace
Tom Stellard75aadc22012-12-11 21:25:42 +000032
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000033#endif