OLD | NEW |
1 //===- subzero/src/IceInst.h - High-level instructions ----------*- C++ -*-===// | 1 //===- subzero/src/IceInst.h - High-level instructions ----------*- 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 /// \file | 10 /// \file |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 | 208 |
209 /// LiveRangesEnded marks which Variables' live ranges end in this | 209 /// LiveRangesEnded marks which Variables' live ranges end in this |
210 /// instruction. An instruction can have an arbitrary number of | 210 /// instruction. An instruction can have an arbitrary number of |
211 /// source operands (e.g. a call instruction), and each source | 211 /// source operands (e.g. a call instruction), and each source |
212 /// operand can contain 0 or 1 Variable (and target-specific operands | 212 /// operand can contain 0 or 1 Variable (and target-specific operands |
213 /// could contain more than 1 Variable). All the variables in an | 213 /// could contain more than 1 Variable). All the variables in an |
214 /// instruction are conceptually flattened and each variable is | 214 /// instruction are conceptually flattened and each variable is |
215 /// mapped to one bit position of the LiveRangesEnded bit vector. | 215 /// mapped to one bit position of the LiveRangesEnded bit vector. |
216 /// Only the first CHAR_BIT * sizeof(LREndedBits) variables are | 216 /// Only the first CHAR_BIT * sizeof(LREndedBits) variables are |
217 /// tracked this way. | 217 /// tracked this way. |
218 typedef uint32_t LREndedBits; // only first 32 src operands tracked, sorry | 218 using LREndedBits = uint32_t; // only first 32 src operands tracked, sorry |
219 LREndedBits LiveRangesEnded; | 219 LREndedBits LiveRangesEnded; |
220 }; | 220 }; |
221 | 221 |
222 class InstHighLevel : public Inst { | 222 class InstHighLevel : public Inst { |
223 InstHighLevel() = delete; | 223 InstHighLevel() = delete; |
224 InstHighLevel(const InstHighLevel &) = delete; | 224 InstHighLevel(const InstHighLevel &) = delete; |
225 InstHighLevel &operator=(const InstHighLevel &) = delete; | 225 InstHighLevel &operator=(const InstHighLevel &) = delete; |
226 | 226 |
227 protected: | 227 protected: |
228 InstHighLevel(Cfg *Func, InstKind Kind, SizeT MaxSrcs, Variable *Dest) | 228 InstHighLevel(Cfg *Func, InstKind Kind, SizeT MaxSrcs, Variable *Dest) |
(...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
981 static void noteHead(Ice::Inst *, Ice::Inst *) {} | 981 static void noteHead(Ice::Inst *, Ice::Inst *) {} |
982 void deleteNode(Ice::Inst *) {} | 982 void deleteNode(Ice::Inst *) {} |
983 | 983 |
984 private: | 984 private: |
985 mutable ilist_half_node<Ice::Inst> Sentinel; | 985 mutable ilist_half_node<Ice::Inst> Sentinel; |
986 }; | 986 }; |
987 | 987 |
988 } // end of namespace llvm | 988 } // end of namespace llvm |
989 | 989 |
990 #endif // SUBZERO_SRC_ICEINST_H | 990 #endif // SUBZERO_SRC_ICEINST_H |
OLD | NEW |