OLD | NEW |
1 //===- subzero/src/IceDefs.h - Common Subzero declaraions -------*- C++ -*-===// | 1 //===- subzero/src/IceDefs.h - Common Subzero declaraions -------*- C++ -*-===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file declares various useful types and classes that have | 10 // This file declares various useful types and classes that have |
11 // widespread use across Subzero. Every Subzero source file is | 11 // widespread use across Subzero. Every Subzero source file is |
12 // expected to include IceDefs.h. | 12 // expected to include IceDefs.h. |
13 // | 13 // |
14 //===----------------------------------------------------------------------===// | 14 //===----------------------------------------------------------------------===// |
15 | 15 |
16 #ifndef SUBZERO_SRC_ICEDEFS_H | 16 #ifndef SUBZERO_SRC_ICEDEFS_H |
17 #define SUBZERO_SRC_ICEDEFS_H | 17 #define SUBZERO_SRC_ICEDEFS_H |
18 | 18 |
19 #include <cassert> | 19 #include <cassert> |
20 #include <cstdint> | 20 #include <cstdint> |
21 #include <cstdio> // snprintf | 21 #include <cstdio> // snprintf |
22 #include <functional> // std::less | 22 #include <functional> // std::less |
23 #include <limits> | 23 #include <limits> |
24 #include <list> | 24 #include <list> |
25 #include <map> | 25 #include <map> |
26 #include <set> | 26 #include <set> |
27 #include <string> | 27 #include <string> |
28 #include <vector> | 28 #include <vector> |
29 | |
30 #include "llvm/ADT/ArrayRef.h" | 29 #include "llvm/ADT/ArrayRef.h" |
31 #include "llvm/ADT/BitVector.h" | 30 #include "llvm/ADT/BitVector.h" |
32 #include "llvm/ADT/SmallBitVector.h" | 31 #include "llvm/ADT/SmallBitVector.h" |
33 #include "llvm/ADT/STLExtras.h" | 32 #include "llvm/ADT/STLExtras.h" |
34 #include "llvm/Support/Casting.h" | 33 #include "llvm/Support/Casting.h" |
35 #include "llvm/Support/raw_ostream.h" | 34 #include "llvm/Support/raw_ostream.h" |
36 | 35 |
37 namespace Ice { | 36 namespace Ice { |
38 | 37 |
39 class Cfg; | 38 class Cfg; |
40 class CfgNode; | 39 class CfgNode; |
41 class Constant; | 40 class Constant; |
| 41 class FunctionDeclaration; |
42 class GlobalContext; | 42 class GlobalContext; |
| 43 class GlobalDeclaration; |
43 class Inst; | 44 class Inst; |
44 class InstPhi; | 45 class InstPhi; |
45 class InstTarget; | 46 class InstTarget; |
46 class LiveRange; | 47 class LiveRange; |
47 class Liveness; | 48 class Liveness; |
48 class Operand; | 49 class Operand; |
49 class TargetLowering; | 50 class TargetLowering; |
50 class Variable; | 51 class Variable; |
| 52 class VariableDeclaration; |
51 class VariablesMetadata; | 53 class VariablesMetadata; |
52 | 54 |
53 // TODO: Switch over to LLVM's ADT container classes. | 55 // TODO: Switch over to LLVM's ADT container classes. |
54 // http://llvm.org/docs/ProgrammersManual.html#picking-the-right-data-structure-
for-a-task | 56 // http://llvm.org/docs/ProgrammersManual.html#picking-the-right-data-structure-
for-a-task |
55 typedef std::string IceString; | 57 typedef std::string IceString; |
56 typedef std::list<Inst *> InstList; | 58 typedef std::list<Inst *> InstList; |
57 typedef std::list<InstPhi *> PhiList; | 59 typedef std::list<InstPhi *> PhiList; |
58 typedef std::vector<Variable *> VarList; | 60 typedef std::vector<Variable *> VarList; |
59 typedef std::vector<Operand *> OperandList; | 61 typedef std::vector<Operand *> OperandList; |
60 typedef std::vector<CfgNode *> NodeList; | 62 typedef std::vector<CfgNode *> NodeList; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 IceV_All = ~IceV_None, | 103 IceV_All = ~IceV_None, |
102 IceV_Most = IceV_All & ~IceV_LinearScan | 104 IceV_Most = IceV_All & ~IceV_LinearScan |
103 }; | 105 }; |
104 typedef uint32_t VerboseMask; | 106 typedef uint32_t VerboseMask; |
105 | 107 |
106 typedef llvm::raw_ostream Ostream; | 108 typedef llvm::raw_ostream Ostream; |
107 | 109 |
108 } // end of namespace Ice | 110 } // end of namespace Ice |
109 | 111 |
110 #endif // SUBZERO_SRC_ICEDEFS_H | 112 #endif // SUBZERO_SRC_ICEDEFS_H |
OLD | NEW |