Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(150)

Unified Diff: src/IceInst.h

Issue 952953002: Subzero: Improve class definition hygiene. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix typo Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/IceGlobalInits.h ('k') | src/IceInstX8632.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/IceInst.h
diff --git a/src/IceInst.h b/src/IceInst.h
index 72422c97b2e7af2ef2b0e8275b253888be0f35fa..e3262c83d8dee23590b63d96981806321ed45bf5 100644
--- a/src/IceInst.h
+++ b/src/IceInst.h
@@ -35,6 +35,7 @@ namespace Ice {
// from InstHighLevel, and low-level (target-specific) ICE
// instructions inherit from InstTarget.
class Inst : public llvm::ilist_node<Inst> {
+ Inst() = delete;
Inst(const Inst &) = delete;
Inst &operator=(const Inst &) = delete;
@@ -44,7 +45,6 @@ public:
Unreachable,
Alloca,
Arithmetic,
- Assign, // not part of LLVM/PNaCl bitcode
Br,
Call,
Cast,
@@ -59,6 +59,7 @@ public:
Select,
Store,
Switch,
+ Assign, // not part of LLVM/PNaCl bitcode
BundleLock, // not part of LLVM/PNaCl bitcode
BundleUnlock, // not part of LLVM/PNaCl bitcode
FakeDef, // not part of LLVM/PNaCl bitcode
@@ -207,6 +208,7 @@ protected:
};
class InstHighLevel : public Inst {
+ InstHighLevel() = delete;
InstHighLevel(const InstHighLevel &) = delete;
InstHighLevel &operator=(const InstHighLevel &) = delete;
@@ -226,6 +228,7 @@ protected:
// and the required alignment in bytes. The alignment must be either
// 0 (no alignment required) or a power of 2.
class InstAlloca : public InstHighLevel {
+ InstAlloca() = delete;
InstAlloca(const InstAlloca &) = delete;
InstAlloca &operator=(const InstAlloca &) = delete;
@@ -250,6 +253,7 @@ private:
// Binary arithmetic instruction. The source operands are captured in
// getSrc(0) and getSrc(1).
class InstArithmetic : public InstHighLevel {
+ InstArithmetic() = delete;
InstArithmetic(const InstArithmetic &) = delete;
InstArithmetic &operator=(const InstArithmetic &) = delete;
@@ -289,6 +293,7 @@ private:
// Inttoptr instruction, or as an intermediate step for lowering a
// Load instruction.
class InstAssign : public InstHighLevel {
+ InstAssign() = delete;
InstAssign(const InstAssign &) = delete;
InstAssign &operator=(const InstAssign &) = delete;
@@ -308,6 +313,7 @@ private:
// Branch instruction. This represents both conditional and
// unconditional branches.
class InstBr : public InstHighLevel {
+ InstBr() = delete;
InstBr(const InstBr &) = delete;
InstBr &operator=(const InstBr &) = delete;
@@ -354,6 +360,7 @@ private:
// Call instruction. The call target is captured as getSrc(0), and
// arg I is captured as getSrc(I+1).
class InstCall : public InstHighLevel {
+ InstCall() = delete;
InstCall(const InstCall &) = delete;
InstCall &operator=(const InstCall &) = delete;
@@ -392,6 +399,7 @@ private:
// Cast instruction (a.k.a. conversion operation).
class InstCast : public InstHighLevel {
+ InstCast() = delete;
InstCast(const InstCast &) = delete;
InstCast &operator=(const InstCast &) = delete;
@@ -422,6 +430,7 @@ private:
// ExtractElement instruction.
class InstExtractElement : public InstHighLevel {
+ InstExtractElement() = delete;
InstExtractElement(const InstExtractElement &) = delete;
InstExtractElement &operator=(const InstExtractElement &) = delete;
@@ -446,6 +455,7 @@ private:
// Floating-point comparison instruction. The source operands are
// captured in getSrc(0) and getSrc(1).
class InstFcmp : public InstHighLevel {
+ InstFcmp() = delete;
InstFcmp(const InstFcmp &) = delete;
InstFcmp &operator=(const InstFcmp &) = delete;
@@ -476,6 +486,7 @@ private:
// Integer comparison instruction. The source operands are captured
// in getSrc(0) and getSrc(1).
class InstIcmp : public InstHighLevel {
+ InstIcmp() = delete;
InstIcmp(const InstIcmp &) = delete;
InstIcmp &operator=(const InstIcmp &) = delete;
@@ -505,6 +516,7 @@ private:
// InsertElement instruction.
class InstInsertElement : public InstHighLevel {
+ InstInsertElement() = delete;
InstInsertElement(const InstInsertElement &) = delete;
InstInsertElement &operator=(const InstInsertElement &) = delete;
@@ -529,6 +541,7 @@ private:
// Call to an intrinsic function. The call target is captured as getSrc(0),
// and arg I is captured as getSrc(I+1).
class InstIntrinsicCall : public InstCall {
+ InstIntrinsicCall() = delete;
InstIntrinsicCall(const InstIntrinsicCall &) = delete;
InstIntrinsicCall &operator=(const InstIntrinsicCall &) = delete;
@@ -557,6 +570,7 @@ private:
// Load instruction. The source address is captured in getSrc(0).
class InstLoad : public InstHighLevel {
+ InstLoad() = delete;
InstLoad(const InstLoad &) = delete;
InstLoad &operator=(const InstLoad &) = delete;
@@ -579,6 +593,7 @@ private:
// Phi instruction. For incoming edge I, the node is Labels[I] and
// the Phi source operand is getSrc(I).
class InstPhi : public InstHighLevel {
+ InstPhi() = delete;
InstPhi(const InstPhi &) = delete;
InstPhi &operator=(const InstPhi &) = delete;
@@ -613,6 +628,7 @@ private:
// there is no return value (void-type function), then
// getSrcSize()==0 and hasRetValue()==false.
class InstRet : public InstHighLevel {
+ InstRet() = delete;
InstRet(const InstRet &) = delete;
InstRet &operator=(const InstRet &) = delete;
@@ -636,6 +652,7 @@ private:
// Select instruction. The condition, true, and false operands are captured.
class InstSelect : public InstHighLevel {
+ InstSelect() = delete;
InstSelect(const InstSelect &) = delete;
InstSelect &operator=(const InstSelect &) = delete;
@@ -660,6 +677,7 @@ private:
// Store instruction. The address operand is captured, along with the
// data operand to be stored into the address.
class InstStore : public InstHighLevel {
+ InstStore() = delete;
InstStore(const InstStore &) = delete;
InstStore &operator=(const InstStore &) = delete;
@@ -683,6 +701,7 @@ private:
// Switch instruction. The single source operand is captured as
// getSrc(0).
class InstSwitch : public InstHighLevel {
+ InstSwitch() = delete;
InstSwitch(const InstSwitch &) = delete;
InstSwitch &operator=(const InstSwitch &) = delete;
@@ -727,6 +746,7 @@ private:
// Unreachable instruction. This is a terminator instruction with no
// operands.
class InstUnreachable : public InstHighLevel {
+ InstUnreachable() = delete;
InstUnreachable(const InstUnreachable &) = delete;
InstUnreachable &operator=(const InstUnreachable &) = delete;
@@ -741,13 +761,14 @@ public:
}
private:
- InstUnreachable(Cfg *Func);
+ explicit InstUnreachable(Cfg *Func);
~InstUnreachable() override {}
};
// BundleLock instruction. There are no operands. Contains an option
// indicating whether align_to_end is specified.
class InstBundleLock : public InstHighLevel {
+ InstBundleLock() = delete;
InstBundleLock(const InstBundleLock &) = delete;
InstBundleLock &operator=(const InstBundleLock &) = delete;
@@ -773,6 +794,7 @@ private:
// BundleUnlock instruction. There are no operands.
class InstBundleUnlock : public InstHighLevel {
+ InstBundleUnlock() = delete;
InstBundleUnlock(const InstBundleUnlock &) = delete;
InstBundleUnlock &operator=(const InstBundleUnlock &) = delete;
@@ -805,6 +827,7 @@ private:
// eliminated if its dest operand is unused, and therefore the FakeDef
// dest wouldn't be properly initialized.
class InstFakeDef : public InstHighLevel {
+ InstFakeDef() = delete;
InstFakeDef(const InstFakeDef &) = delete;
InstFakeDef &operator=(const InstFakeDef &) = delete;
@@ -829,6 +852,7 @@ private:
// situations. The FakeUse instruction has no dest, so it can itself
// never be dead-code eliminated.
class InstFakeUse : public InstHighLevel {
+ InstFakeUse() = delete;
InstFakeUse(const InstFakeUse &) = delete;
InstFakeUse &operator=(const InstFakeUse &) = delete;
@@ -857,6 +881,7 @@ private:
// that kills the set of variables, so that if that linked instruction
// gets dead-code eliminated, the FakeKill instruction will as well.
class InstFakeKill : public InstHighLevel {
+ InstFakeKill() = delete;
InstFakeKill(const InstFakeKill &) = delete;
InstFakeKill &operator=(const InstFakeKill &) = delete;
@@ -881,6 +906,7 @@ private:
// The Target instruction is the base class for all target-specific
// instructions.
class InstTarget : public Inst {
+ InstTarget() = delete;
InstTarget(const InstTarget &) = delete;
InstTarget &operator=(const InstTarget &) = delete;
« no previous file with comments | « src/IceGlobalInits.h ('k') | src/IceInstX8632.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698