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 |
(...skipping 17 matching lines...) Expand all Loading... |
28 #include <vector> | 28 #include <vector> |
29 | 29 |
30 #include "llvm/ADT/BitVector.h" | 30 #include "llvm/ADT/BitVector.h" |
31 #include "llvm/ADT/SmallBitVector.h" | 31 #include "llvm/ADT/SmallBitVector.h" |
32 #include "llvm/ADT/STLExtras.h" | 32 #include "llvm/ADT/STLExtras.h" |
33 #include "llvm/Support/Casting.h" | 33 #include "llvm/Support/Casting.h" |
34 #include "llvm/Support/Compiler.h" // LLVM_STATIC_ASSERT | 34 #include "llvm/Support/Compiler.h" // LLVM_STATIC_ASSERT |
35 #include "llvm/Support/raw_ostream.h" | 35 #include "llvm/Support/raw_ostream.h" |
36 #include "llvm/Support/Timer.h" | 36 #include "llvm/Support/Timer.h" |
37 | 37 |
| 38 // Roll our own static_assert<> in the absence of C++11. TODO: change |
| 39 // to static_assert<> with C++11. |
| 40 template <bool> struct staticAssert; |
| 41 template <> struct staticAssert<true> {}; // only true is defined |
| 42 #define STATIC_ASSERT(x) staticAssert<(x)>() |
| 43 |
38 namespace Ice { | 44 namespace Ice { |
39 | 45 |
| 46 class Cfg; |
40 class CfgNode; | 47 class CfgNode; |
41 class Constant; | 48 class Constant; |
42 class GlobalContext; | 49 class GlobalContext; |
43 class Cfg; | |
44 class Inst; | 50 class Inst; |
45 class InstPhi; | 51 class InstPhi; |
46 class InstTarget; | 52 class InstTarget; |
47 class Operand; | 53 class Operand; |
| 54 class TargetLowering; |
48 class Variable; | 55 class Variable; |
49 | 56 |
50 // TODO: Switch over to LLVM's ADT container classes. | 57 // TODO: Switch over to LLVM's ADT container classes. |
51 // http://llvm.org/docs/ProgrammersManual.html#picking-the-right-data-structure-
for-a-task | 58 // http://llvm.org/docs/ProgrammersManual.html#picking-the-right-data-structure-
for-a-task |
52 typedef std::string IceString; | 59 typedef std::string IceString; |
53 typedef std::list<Inst *> InstList; | 60 typedef std::list<Inst *> InstList; |
54 typedef std::list<InstPhi *> PhiList; | 61 typedef std::list<InstPhi *> PhiList; |
55 typedef std::vector<Variable *> VarList; | 62 typedef std::vector<Variable *> VarList; |
56 typedef std::vector<CfgNode *> NodeList; | 63 typedef std::vector<CfgNode *> NodeList; |
57 | 64 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 | 120 |
114 private: | 121 private: |
115 const llvm::TimeRecord Start; | 122 const llvm::TimeRecord Start; |
116 Timer(const Timer &) LLVM_DELETED_FUNCTION; | 123 Timer(const Timer &) LLVM_DELETED_FUNCTION; |
117 Timer &operator=(const Timer &) LLVM_DELETED_FUNCTION; | 124 Timer &operator=(const Timer &) LLVM_DELETED_FUNCTION; |
118 }; | 125 }; |
119 | 126 |
120 } // end of namespace Ice | 127 } // end of namespace Ice |
121 | 128 |
122 #endif // SUBZERO_SRC_ICEDEFS_H | 129 #endif // SUBZERO_SRC_ICEDEFS_H |
OLD | NEW |