Index: src/IceInstX8632.h |
diff --git a/src/IceInstX8632.h b/src/IceInstX8632.h |
index 64ce4a0035f80ab1b0a1dad6cc3360359f28c861..834e061374b28acc6c4e679c079eea49153f0cd6 100644 |
--- a/src/IceInstX8632.h |
+++ b/src/IceInstX8632.h |
@@ -175,6 +175,7 @@ public: |
Mulps, |
Mulss, |
Neg, |
+ Nop, |
Or, |
Padd, |
Pand, |
@@ -1060,6 +1061,28 @@ private: |
virtual ~InstX8632Movzx() {} |
}; |
+// Nop instructions of varying length |
+class InstX8632Nop : public InstX8632 { |
+public: |
+ // TODO: Replace with enum. |
+ typedef unsigned NopVariant; |
+ |
+ static InstX8632Nop *create(Cfg *Func, NopVariant Variant) { |
+ return new (Func->allocate<InstX8632Nop>()) InstX8632Nop(Func, Variant); |
+ } |
+ virtual void emit(const Cfg *Func) const; |
+ virtual void dump(const Cfg *Func) const; |
+ static bool classof(const Inst *Inst) { return isClassof(Inst, Nop); } |
+ |
+private: |
+ InstX8632Nop(Cfg *Func, SizeT Length); |
+ InstX8632Nop(const InstX8632Nop &) LLVM_DELETED_FUNCTION; |
+ InstX8632Nop &operator=(const InstX8632Nop &) LLVM_DELETED_FUNCTION; |
+ virtual ~InstX8632Nop() {} |
+ |
+ NopVariant Variant; |
+}; |
+ |
// Fld - load a value onto the x87 FP stack. |
class InstX8632Fld : public InstX8632 { |
public: |