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 11 matching lines...) Expand all Loading... |
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 <string> | 26 #include <string> |
27 #include <vector> | 27 #include <vector> |
28 #include "llvm/ADT/ArrayRef.h" | 28 #include "llvm/ADT/ArrayRef.h" |
29 #include "llvm/ADT/BitVector.h" | 29 #include "llvm/ADT/BitVector.h" |
30 #include "llvm/ADT/ilist.h" | 30 #include "llvm/ADT/ilist.h" |
31 #include "llvm/ADT/ilist_node.h" | 31 #include "llvm/ADT/ilist_node.h" |
| 32 #include "llvm/ADT/iterator_range.h" |
32 #include "llvm/ADT/SmallBitVector.h" | 33 #include "llvm/ADT/SmallBitVector.h" |
33 #include "llvm/ADT/SmallVector.h" | 34 #include "llvm/ADT/SmallVector.h" |
34 #include "llvm/ADT/STLExtras.h" | 35 #include "llvm/ADT/STLExtras.h" |
35 #include "llvm/Support/Allocator.h" | 36 #include "llvm/Support/Allocator.h" |
36 #include "llvm/Support/Casting.h" | 37 #include "llvm/Support/Casting.h" |
37 #include "llvm/Support/ELF.h" | 38 #include "llvm/Support/ELF.h" |
38 #include "llvm/Support/raw_ostream.h" | 39 #include "llvm/Support/raw_ostream.h" |
39 | 40 |
40 namespace Ice { | 41 namespace Ice { |
41 | 42 |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 IceV_AddrOpt = 1 << 10, | 151 IceV_AddrOpt = 1 << 10, |
151 IceV_Random = 1 << 11, | 152 IceV_Random = 1 << 11, |
152 IceV_All = ~IceV_None, | 153 IceV_All = ~IceV_None, |
153 IceV_Most = IceV_All & ~IceV_LinearScan | 154 IceV_Most = IceV_All & ~IceV_LinearScan |
154 }; | 155 }; |
155 typedef uint32_t VerboseMask; | 156 typedef uint32_t VerboseMask; |
156 | 157 |
157 typedef llvm::raw_ostream Ostream; | 158 typedef llvm::raw_ostream Ostream; |
158 typedef llvm::raw_fd_ostream Fdstream; | 159 typedef llvm::raw_fd_ostream Fdstream; |
159 | 160 |
| 161 // Reverse range adaptors written in terms of llvm::make_range(). |
| 162 template <typename T> |
| 163 llvm::iterator_range<typename T::const_reverse_iterator> |
| 164 reverse_range(const T &Container) { |
| 165 return llvm::make_range(Container.rbegin(), Container.rend()); |
| 166 } |
| 167 template <typename T> |
| 168 llvm::iterator_range<typename T::reverse_iterator> reverse_range(T &Container) { |
| 169 return llvm::make_range(Container.rbegin(), Container.rend()); |
| 170 } |
| 171 |
160 } // end of namespace Ice | 172 } // end of namespace Ice |
161 | 173 |
162 #endif // SUBZERO_SRC_ICEDEFS_H | 174 #endif // SUBZERO_SRC_ICEDEFS_H |
OLD | NEW |