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 335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 | 346 |
347 public: | 347 public: |
348 static StackVariable *create(Cfg *Func, Type Ty, SizeT Index) { | 348 static StackVariable *create(Cfg *Func, Type Ty, SizeT Index) { |
349 return new (Func->allocate<StackVariable>()) StackVariable(Ty, Index); | 349 return new (Func->allocate<StackVariable>()) StackVariable(Ty, Index); |
350 } | 350 } |
351 constexpr static auto StackVariableKind = | 351 constexpr static auto StackVariableKind = |
352 static_cast<OperandKind>(kVariable_Target); | 352 static_cast<OperandKind>(kVariable_Target); |
353 static bool classof(const Operand *Operand) { | 353 static bool classof(const Operand *Operand) { |
354 return Operand->getKind() == StackVariableKind; | 354 return Operand->getKind() == StackVariableKind; |
355 } | 355 } |
356 void setBaseRegNum(int32_t RegNum) { BaseRegNum = RegNum; } | 356 void setBaseRegNum(RegNumT RegNum) { BaseRegNum = RegNum; } |
357 int32_t getBaseRegNum() const override { return BaseRegNum; } | 357 RegNumT getBaseRegNum() const override { return BaseRegNum; } |
358 // Inherit dump() and emit() from Variable. | 358 // Inherit dump() and emit() from Variable. |
359 | 359 |
360 private: | 360 private: |
361 StackVariable(Type Ty, SizeT Index) | 361 StackVariable(Type Ty, SizeT Index) |
362 : Variable(StackVariableKind, Ty, Index) {} | 362 : Variable(StackVariableKind, Ty, Index) {} |
363 int32_t BaseRegNum = Variable::NoRegister; | 363 RegNumT BaseRegNum = RegNumT::NoRegister; |
364 }; | 364 }; |
365 | 365 |
366 /// Base class for ARM instructions. While most ARM instructions can be | 366 /// Base class for ARM instructions. While most ARM instructions can be |
367 /// conditionally executed, a few of them are not predicable (halt, memory | 367 /// conditionally executed, a few of them are not predicable (halt, memory |
368 /// barriers, etc.). | 368 /// barriers, etc.). |
369 class InstARM32 : public InstTarget { | 369 class InstARM32 : public InstTarget { |
370 InstARM32() = delete; | 370 InstARM32() = delete; |
371 InstARM32(const InstARM32 &) = delete; | 371 InstARM32(const InstARM32 &) = delete; |
372 InstARM32 &operator=(const InstARM32 &) = delete; | 372 InstARM32 &operator=(const InstARM32 &) = delete; |
373 | 373 |
(...skipping 1065 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1439 // violations and link errors. | 1439 // violations and link errors. |
1440 | 1440 |
1441 template <> void InstARM32Ldr::emit(const Cfg *Func) const; | 1441 template <> void InstARM32Ldr::emit(const Cfg *Func) const; |
1442 template <> void InstARM32Movw::emit(const Cfg *Func) const; | 1442 template <> void InstARM32Movw::emit(const Cfg *Func) const; |
1443 template <> void InstARM32Movt::emit(const Cfg *Func) const; | 1443 template <> void InstARM32Movt::emit(const Cfg *Func) const; |
1444 | 1444 |
1445 } // end of namespace ARM32 | 1445 } // end of namespace ARM32 |
1446 } // end of namespace Ice | 1446 } // end of namespace Ice |
1447 | 1447 |
1448 #endif // SUBZERO_SRC_ICEINSTARM32_H | 1448 #endif // SUBZERO_SRC_ICEINSTARM32_H |
OLD | NEW |