OLD | NEW |
1 //===- subzero/src/IceInstX8632.h - Low-level x86 instructions --*- C++ -*-===// | 1 //===- subzero/src/IceInstX8632.h - Low-level x86 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 // This file declares the InstX8632 and OperandX8632 classes and | 10 // This file declares the InstX8632 and OperandX8632 classes and |
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
614 protected: | 614 protected: |
615 bool Locked; | 615 bool Locked; |
616 | 616 |
617 InstX8632Lockable(Cfg *Func, InstKindX8632 Kind, SizeT Maxsrcs, | 617 InstX8632Lockable(Cfg *Func, InstKindX8632 Kind, SizeT Maxsrcs, |
618 Variable *Dest, bool Locked) | 618 Variable *Dest, bool Locked) |
619 : InstX8632(Func, Kind, Maxsrcs, Dest), Locked(Locked) { | 619 : InstX8632(Func, Kind, Maxsrcs, Dest), Locked(Locked) { |
620 // Assume that such instructions are used for Atomics and be careful | 620 // Assume that such instructions are used for Atomics and be careful |
621 // with optimizations. | 621 // with optimizations. |
622 HasSideEffects = Locked; | 622 HasSideEffects = Locked; |
623 } | 623 } |
| 624 virtual ~InstX8632Lockable() {} |
624 | 625 |
625 private: | 626 private: |
626 InstX8632Lockable(const InstX8632Lockable &) LLVM_DELETED_FUNCTION; | 627 InstX8632Lockable(const InstX8632Lockable &) LLVM_DELETED_FUNCTION; |
627 InstX8632Lockable &operator=(const InstX8632Lockable &) LLVM_DELETED_FUNCTION; | 628 InstX8632Lockable &operator=(const InstX8632Lockable &) LLVM_DELETED_FUNCTION; |
628 }; | 629 }; |
629 | 630 |
630 // Mul instruction - unsigned multiply. | 631 // Mul instruction - unsigned multiply. |
631 class InstX8632Mul : public InstX8632 { | 632 class InstX8632Mul : public InstX8632 { |
632 public: | 633 public: |
633 static InstX8632Mul *create(Cfg *Func, Variable *Dest, Variable *Source1, | 634 static InstX8632Mul *create(Cfg *Func, Variable *Dest, Variable *Source1, |
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1185 private: | 1186 private: |
1186 InstX8632Xchg(Cfg *Func, Operand *Dest, Variable *Source); | 1187 InstX8632Xchg(Cfg *Func, Operand *Dest, Variable *Source); |
1187 InstX8632Xchg(const InstX8632Xchg &) LLVM_DELETED_FUNCTION; | 1188 InstX8632Xchg(const InstX8632Xchg &) LLVM_DELETED_FUNCTION; |
1188 InstX8632Xchg &operator=(const InstX8632Xchg &) LLVM_DELETED_FUNCTION; | 1189 InstX8632Xchg &operator=(const InstX8632Xchg &) LLVM_DELETED_FUNCTION; |
1189 virtual ~InstX8632Xchg() {} | 1190 virtual ~InstX8632Xchg() {} |
1190 }; | 1191 }; |
1191 | 1192 |
1192 } // end of namespace Ice | 1193 } // end of namespace Ice |
1193 | 1194 |
1194 #endif // SUBZERO_SRC_ICEINSTX8632_H | 1195 #endif // SUBZERO_SRC_ICEINSTX8632_H |
OLD | NEW |