OLD | NEW |
1 //===- subzero/src/IceInstX86Base.h - Generic x86 instructions -*- C++ -*--===// | 1 //===- subzero/src/IceInstX86Base.h - Generic 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 /// \file | 10 /// \file |
(...skipping 2478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2489 }; | 2489 }; |
2490 | 2490 |
2491 /// Nop instructions of varying length | 2491 /// Nop instructions of varying length |
2492 template <class Machine> class InstX86Nop final : public InstX86Base<Machine> { | 2492 template <class Machine> class InstX86Nop final : public InstX86Base<Machine> { |
2493 InstX86Nop() = delete; | 2493 InstX86Nop() = delete; |
2494 InstX86Nop(const InstX86Nop &) = delete; | 2494 InstX86Nop(const InstX86Nop &) = delete; |
2495 InstX86Nop &operator=(const InstX86Nop &) = delete; | 2495 InstX86Nop &operator=(const InstX86Nop &) = delete; |
2496 | 2496 |
2497 public: | 2497 public: |
2498 // TODO: Replace with enum. | 2498 // TODO: Replace with enum. |
2499 typedef unsigned NopVariant; | 2499 using NopVariant = unsigned; |
2500 | 2500 |
2501 static InstX86Nop *create(Cfg *Func, NopVariant Variant) { | 2501 static InstX86Nop *create(Cfg *Func, NopVariant Variant) { |
2502 return new (Func->allocate<InstX86Nop>()) InstX86Nop(Func, Variant); | 2502 return new (Func->allocate<InstX86Nop>()) InstX86Nop(Func, Variant); |
2503 } | 2503 } |
2504 void emit(const Cfg *Func) const override; | 2504 void emit(const Cfg *Func) const override; |
2505 void emitIAS(const Cfg *Func) const override; | 2505 void emitIAS(const Cfg *Func) const override; |
2506 void dump(const Cfg *Func) const override; | 2506 void dump(const Cfg *Func) const override; |
2507 static bool classof(const Inst *Inst) { | 2507 static bool classof(const Inst *Inst) { |
2508 return InstX86Base<Machine>::isClassof(Inst, InstX86Base<Machine>::Nop); | 2508 return InstX86Base<Machine>::isClassof(Inst, InstX86Base<Machine>::Nop); |
2509 } | 2509 } |
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3208 &InstX86Base<Machine>::Traits::Assembler::psrl}; \ | 3208 &InstX86Base<Machine>::Traits::Assembler::psrl}; \ |
3209 } \ | 3209 } \ |
3210 } | 3210 } |
3211 | 3211 |
3212 } // end of namespace X86Internal | 3212 } // end of namespace X86Internal |
3213 } // end of namespace Ice | 3213 } // end of namespace Ice |
3214 | 3214 |
3215 #include "IceInstX86BaseImpl.h" | 3215 #include "IceInstX86BaseImpl.h" |
3216 | 3216 |
3217 #endif // SUBZERO_SRC_ICEINSTX86BASE_H | 3217 #endif // SUBZERO_SRC_ICEINSTX86BASE_H |
OLD | NEW |