| 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 /// \file | 10 /// \file |
| (...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 496 /// Used primarily for syntactic correctness of textual assembly | 496 /// Used primarily for syntactic correctness of textual assembly |
| 497 /// emission. Note that only basic information is copied, in | 497 /// emission. Note that only basic information is copied, in |
| 498 /// particular not IsArgument, IsImplicitArgument, IgnoreLiveness, | 498 /// particular not IsArgument, IsImplicitArgument, IgnoreLiveness, |
| 499 /// RegNumTmp, Weight, Live, LoVar, HiVar, VarsReal. | 499 /// RegNumTmp, Weight, Live, LoVar, HiVar, VarsReal. |
| 500 Variable *asType(Type Ty); | 500 Variable *asType(Type Ty); |
| 501 | 501 |
| 502 void emit(const Cfg *Func) const override; | 502 void emit(const Cfg *Func) const override; |
| 503 using Operand::dump; | 503 using Operand::dump; |
| 504 void dump(const Cfg *Func, Ostream &Str) const override; | 504 void dump(const Cfg *Func, Ostream &Str) const override; |
| 505 | 505 |
| 506 /// Return reg num of base register, if different from stack/frame register. |
| 507 virtual int32_t getBaseRegNum() const { return NoRegister; } |
| 508 |
| 506 static bool classof(const Operand *Operand) { | 509 static bool classof(const Operand *Operand) { |
| 507 OperandKind Kind = Operand->getKind(); | 510 OperandKind Kind = Operand->getKind(); |
| 508 return Kind >= kVariable && Kind <= kVariable_Num; | 511 return Kind >= kVariable && Kind <= kVariable_Num; |
| 509 } | 512 } |
| 510 | 513 |
| 511 protected: | 514 protected: |
| 512 Variable(OperandKind K, Type Ty, SizeT Index) | 515 Variable(OperandKind K, Type Ty, SizeT Index) |
| 513 : Operand(K, Ty), Number(Index) { | 516 : Operand(K, Ty), Number(Index) { |
| 514 Vars = VarsReal; | 517 Vars = VarsReal; |
| 515 Vars[0] = this; | 518 Vars[0] = this; |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 650 private: | 653 private: |
| 651 const Cfg *Func; | 654 const Cfg *Func; |
| 652 MetadataKind Kind; | 655 MetadataKind Kind; |
| 653 std::vector<VariableTracking> Metadata; | 656 std::vector<VariableTracking> Metadata; |
| 654 const static InstDefList NoDefinitions; | 657 const static InstDefList NoDefinitions; |
| 655 }; | 658 }; |
| 656 | 659 |
| 657 } // end of namespace Ice | 660 } // end of namespace Ice |
| 658 | 661 |
| 659 #endif // SUBZERO_SRC_ICEOPERAND_H | 662 #endif // SUBZERO_SRC_ICEOPERAND_H |
| OLD | NEW |