| OLD | NEW |
| 1 //===- subzero/src/IceInstARM32.h - ARM32 machine instructions --*- C++ -*-===// | 1 //===- subzero/src/IceInstARM32.h - ARM32 machine 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 954 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 965 public: | 965 public: |
| 966 static InstARM32Label *create(Cfg *Func, TargetARM32 *Target) { | 966 static InstARM32Label *create(Cfg *Func, TargetARM32 *Target) { |
| 967 return new (Func->allocate<InstARM32Label>()) InstARM32Label(Func, Target); | 967 return new (Func->allocate<InstARM32Label>()) InstARM32Label(Func, Target); |
| 968 } | 968 } |
| 969 uint32_t getEmitInstCount() const override { return 0; } | 969 uint32_t getEmitInstCount() const override { return 0; } |
| 970 IceString getName(const Cfg *Func) const; | 970 IceString getName(const Cfg *Func) const; |
| 971 SizeT getNumber() const { return Number; } | 971 SizeT getNumber() const { return Number; } |
| 972 void emit(const Cfg *Func) const override; | 972 void emit(const Cfg *Func) const override; |
| 973 void emitIAS(const Cfg *Func) const override; | 973 void emitIAS(const Cfg *Func) const override; |
| 974 void dump(const Cfg *Func) const override; | 974 void dump(const Cfg *Func) const override; |
| 975 void setRelocOffset(RelocOffset *Value) { OffsetReloc = Value; } |
| 975 | 976 |
| 976 private: | 977 private: |
| 977 InstARM32Label(Cfg *Func, TargetARM32 *Target); | 978 InstARM32Label(Cfg *Func, TargetARM32 *Target); |
| 978 | 979 |
| 980 RelocOffset *OffsetReloc = nullptr; |
| 981 |
| 979 SizeT Number; // used for unique label generation. | 982 SizeT Number; // used for unique label generation. |
| 980 }; | 983 }; |
| 981 | 984 |
| 982 /// Direct branch instruction. | 985 /// Direct branch instruction. |
| 983 class InstARM32Br : public InstARM32Pred { | 986 class InstARM32Br : public InstARM32Pred { |
| 984 InstARM32Br() = delete; | 987 InstARM32Br() = delete; |
| 985 InstARM32Br(const InstARM32Br &) = delete; | 988 InstARM32Br(const InstARM32Br &) = delete; |
| 986 InstARM32Br &operator=(const InstARM32Br &) = delete; | 989 InstARM32Br &operator=(const InstARM32Br &) = delete; |
| 987 | 990 |
| 988 public: | 991 public: |
| (...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1498 // violations and link errors. | 1501 // violations and link errors. |
| 1499 | 1502 |
| 1500 template <> void InstARM32Ldr::emit(const Cfg *Func) const; | 1503 template <> void InstARM32Ldr::emit(const Cfg *Func) const; |
| 1501 template <> void InstARM32Movw::emit(const Cfg *Func) const; | 1504 template <> void InstARM32Movw::emit(const Cfg *Func) const; |
| 1502 template <> void InstARM32Movt::emit(const Cfg *Func) const; | 1505 template <> void InstARM32Movt::emit(const Cfg *Func) const; |
| 1503 | 1506 |
| 1504 } // end of namespace ARM32 | 1507 } // end of namespace ARM32 |
| 1505 } // end of namespace Ice | 1508 } // end of namespace Ice |
| 1506 | 1509 |
| 1507 #endif // SUBZERO_SRC_ICEINSTARM32_H | 1510 #endif // SUBZERO_SRC_ICEINSTARM32_H |
| OLD | NEW |