| OLD | NEW |
| 1 //===- subzero/src/IceOperand.h - High-level operands -----------*- C++ -*-===// | 1 //===- subzero/src/IceOperand.h - High-level operands -----------*- 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 the Operand class and its target-independent | 10 // This file declares the Operand class and its target-independent |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 kConstFloat, | 39 kConstFloat, |
| 40 kConstDouble, | 40 kConstDouble, |
| 41 kConstRelocatable, | 41 kConstRelocatable, |
| 42 kConstUndef, | 42 kConstUndef, |
| 43 kConst_Target, // leave space for target-specific constant kinds | 43 kConst_Target, // leave space for target-specific constant kinds |
| 44 kConst_Num = kConst_Target + MaxTargetKinds, | 44 kConst_Num = kConst_Target + MaxTargetKinds, |
| 45 kVariable, | 45 kVariable, |
| 46 kVariable_Target, // leave space for target-specific variable kinds | 46 kVariable_Target, // leave space for target-specific variable kinds |
| 47 kVariable_Num = kVariable_Target + MaxTargetKinds, | 47 kVariable_Num = kVariable_Target + MaxTargetKinds, |
| 48 // Target-specific operand classes use kTarget as the starting | 48 // Target-specific operand classes use kTarget as the starting |
| 49 // point for their Kind enum space. | 49 // point for their Kind enum space. Note that the value-spaces are shared |
| 50 // across targets. To avoid confusion over the definition of shared |
| 51 // values, an object specific to one target should never be passed |
| 52 // to a different target. |
| 50 kTarget | 53 kTarget |
| 51 }; | 54 }; |
| 52 OperandKind getKind() const { return Kind; } | 55 OperandKind getKind() const { return Kind; } |
| 53 Type getType() const { return Ty; } | 56 Type getType() const { return Ty; } |
| 54 | 57 |
| 55 // Every Operand keeps an array of the Variables referenced in | 58 // Every Operand keeps an array of the Variables referenced in |
| 56 // the operand. This is so that the liveness operations can get | 59 // the operand. This is so that the liveness operations can get |
| 57 // quick access to the variables of interest, without having to dig | 60 // quick access to the variables of interest, without having to dig |
| 58 // so far into the operand. | 61 // so far into the operand. |
| 59 SizeT getNumVars() const { return NumVars; } | 62 SizeT getNumVars() const { return NumVars; } |
| (...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 628 private: | 631 private: |
| 629 const Cfg *Func; | 632 const Cfg *Func; |
| 630 MetadataKind Kind; | 633 MetadataKind Kind; |
| 631 std::vector<VariableTracking> Metadata; | 634 std::vector<VariableTracking> Metadata; |
| 632 const static InstDefList NoDefinitions; | 635 const static InstDefList NoDefinitions; |
| 633 }; | 636 }; |
| 634 | 637 |
| 635 } // end of namespace Ice | 638 } // end of namespace Ice |
| 636 | 639 |
| 637 #endif // SUBZERO_SRC_ICEOPERAND_H | 640 #endif // SUBZERO_SRC_ICEOPERAND_H |
| OLD | NEW |