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

Unified Diff: src/IceInst.cpp

Issue 605123002: Subzero: Use 'override' as appropriate for C++11. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Insert InstHighLevel into the Inst hierarchy Created 6 years, 3 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
« src/IceInst.h ('K') | « src/IceInst.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.cpp
diff --git a/src/IceInst.cpp b/src/IceInst.cpp
index 9706ce962534867837abc5152f056f9284cef875..9602935a478544e7124b3cfd4ad1c02c936d2a5a 100644
--- a/src/IceInst.cpp
+++ b/src/IceInst.cpp
@@ -196,7 +196,7 @@ void Inst::liveness(InstNumberT InstNumber, llvm::BitVector &Live,
InstAlloca::InstAlloca(Cfg *Func, Operand *ByteCount, uint32_t AlignInBytes,
Variable *Dest)
- : Inst(Func, Inst::Alloca, 1, Dest), AlignInBytes(AlignInBytes) {
+ : InstHighLevel(Func, Inst::Alloca, 1, Dest), AlignInBytes(AlignInBytes) {
// Verify AlignInBytes is 0 or a power of 2.
assert(AlignInBytes == 0 || llvm::isPowerOf2_32(AlignInBytes));
addSource(ByteCount);
@@ -204,7 +204,7 @@ InstAlloca::InstAlloca(Cfg *Func, Operand *ByteCount, uint32_t AlignInBytes,
InstArithmetic::InstArithmetic(Cfg *Func, OpKind Op, Variable *Dest,
Operand *Source1, Operand *Source2)
- : Inst(Func, Inst::Arithmetic, 2, Dest), Op(Op) {
+ : InstHighLevel(Func, Inst::Arithmetic, 2, Dest), Op(Op) {
addSource(Source1);
addSource(Source2);
}
@@ -221,7 +221,7 @@ bool InstArithmetic::isCommutative() const {
}
InstAssign::InstAssign(Cfg *Func, Variable *Dest, Operand *Source)
- : Inst(Func, Inst::Assign, 1, Dest) {
+ : InstHighLevel(Func, Inst::Assign, 1, Dest) {
addSource(Source);
}
@@ -230,7 +230,7 @@ InstAssign::InstAssign(Cfg *Func, Variable *Dest, Operand *Source)
// semantics, there is at most one edge from one node to another.
InstBr::InstBr(Cfg *Func, Operand *Source, CfgNode *TargetTrue,
CfgNode *TargetFalse)
- : Inst(Func, Inst::Br, 1, NULL), TargetFalse(TargetFalse),
+ : InstHighLevel(Func, Inst::Br, 1, NULL), TargetFalse(TargetFalse),
TargetTrue(TargetTrue) {
if (TargetTrue == TargetFalse) {
TargetTrue = NULL; // turn into unconditional version
@@ -240,7 +240,8 @@ InstBr::InstBr(Cfg *Func, Operand *Source, CfgNode *TargetTrue,
}
InstBr::InstBr(Cfg *Func, CfgNode *Target)
- : Inst(Func, Inst::Br, 0, NULL), TargetFalse(Target), TargetTrue(NULL) {}
+ : InstHighLevel(Func, Inst::Br, 0, NULL), TargetFalse(Target),
+ TargetTrue(NULL) {}
NodeList InstBr::getTerminatorEdges() const {
NodeList OutEdges;
@@ -251,27 +252,27 @@ NodeList InstBr::getTerminatorEdges() const {
}
InstCast::InstCast(Cfg *Func, OpKind CastKind, Variable *Dest, Operand *Source)
- : Inst(Func, Inst::Cast, 1, Dest), CastKind(CastKind) {
+ : InstHighLevel(Func, Inst::Cast, 1, Dest), CastKind(CastKind) {
addSource(Source);
}
InstExtractElement::InstExtractElement(Cfg *Func, Variable *Dest,
Operand *Source1, Operand *Source2)
- : Inst(Func, Inst::ExtractElement, 2, Dest) {
+ : InstHighLevel(Func, Inst::ExtractElement, 2, Dest) {
addSource(Source1);
addSource(Source2);
}
InstFcmp::InstFcmp(Cfg *Func, FCond Condition, Variable *Dest, Operand *Source1,
Operand *Source2)
- : Inst(Func, Inst::Fcmp, 2, Dest), Condition(Condition) {
+ : InstHighLevel(Func, Inst::Fcmp, 2, Dest), Condition(Condition) {
addSource(Source1);
addSource(Source2);
}
InstIcmp::InstIcmp(Cfg *Func, ICond Condition, Variable *Dest, Operand *Source1,
Operand *Source2)
- : Inst(Func, Inst::Icmp, 2, Dest), Condition(Condition) {
+ : InstHighLevel(Func, Inst::Icmp, 2, Dest), Condition(Condition) {
addSource(Source1);
addSource(Source2);
}
@@ -279,19 +280,19 @@ InstIcmp::InstIcmp(Cfg *Func, ICond Condition, Variable *Dest, Operand *Source1,
InstInsertElement::InstInsertElement(Cfg *Func, Variable *Dest,
Operand *Source1, Operand *Source2,
Operand *Source3)
- : Inst(Func, Inst::InsertElement, 3, Dest) {
+ : InstHighLevel(Func, Inst::InsertElement, 3, Dest) {
addSource(Source1);
addSource(Source2);
addSource(Source3);
}
InstLoad::InstLoad(Cfg *Func, Variable *Dest, Operand *SourceAddr)
- : Inst(Func, Inst::Load, 1, Dest) {
+ : InstHighLevel(Func, Inst::Load, 1, Dest) {
addSource(SourceAddr);
}
InstPhi::InstPhi(Cfg *Func, SizeT MaxSrcs, Variable *Dest)
- : Inst(Func, Phi, MaxSrcs, Dest) {
+ : InstHighLevel(Func, Phi, MaxSrcs, Dest) {
Labels = Func->allocateArrayOf<CfgNode *>(MaxSrcs);
}
@@ -350,14 +351,14 @@ Inst *InstPhi::lower(Cfg *Func) {
}
InstRet::InstRet(Cfg *Func, Operand *RetValue)
- : Inst(Func, Ret, RetValue ? 1 : 0, NULL) {
+ : InstHighLevel(Func, Ret, RetValue ? 1 : 0, NULL) {
if (RetValue)
addSource(RetValue);
}
InstSelect::InstSelect(Cfg *Func, Variable *Dest, Operand *Condition,
Operand *SourceTrue, Operand *SourceFalse)
- : Inst(Func, Inst::Select, 3, Dest) {
+ : InstHighLevel(Func, Inst::Select, 3, Dest) {
assert(typeElementType(Condition->getType()) == IceType_i1);
addSource(Condition);
addSource(SourceTrue);
@@ -365,14 +366,14 @@ InstSelect::InstSelect(Cfg *Func, Variable *Dest, Operand *Condition,
}
InstStore::InstStore(Cfg *Func, Operand *Data, Operand *Addr)
- : Inst(Func, Inst::Store, 2, NULL) {
+ : InstHighLevel(Func, Inst::Store, 2, NULL) {
addSource(Data);
addSource(Addr);
}
InstSwitch::InstSwitch(Cfg *Func, SizeT NumCases, Operand *Source,
CfgNode *LabelDefault)
- : Inst(Func, Inst::Switch, 1, NULL), LabelDefault(LabelDefault),
+ : InstHighLevel(Func, Inst::Switch, 1, NULL), LabelDefault(LabelDefault),
NumCases(NumCases) {
addSource(Source);
Values = Func->allocateArrayOf<uint64_t>(NumCases);
@@ -400,24 +401,25 @@ NodeList InstSwitch::getTerminatorEdges() const {
}
InstUnreachable::InstUnreachable(Cfg *Func)
- : Inst(Func, Inst::Unreachable, 0, NULL) {}
+ : InstHighLevel(Func, Inst::Unreachable, 0, NULL) {}
InstFakeDef::InstFakeDef(Cfg *Func, Variable *Dest, Variable *Src)
- : Inst(Func, Inst::FakeDef, Src ? 1 : 0, Dest) {
+ : InstHighLevel(Func, Inst::FakeDef, Src ? 1 : 0, Dest) {
assert(Dest);
if (Src)
addSource(Src);
}
InstFakeUse::InstFakeUse(Cfg *Func, Variable *Src)
- : Inst(Func, Inst::FakeUse, 1, NULL) {
+ : InstHighLevel(Func, Inst::FakeUse, 1, NULL) {
assert(Src);
addSource(Src);
}
InstFakeKill::InstFakeKill(Cfg *Func, const VarList &KilledRegs,
const Inst *Linked)
- : Inst(Func, Inst::FakeKill, KilledRegs.size(), NULL), Linked(Linked) {
+ : InstHighLevel(Func, Inst::FakeKill, KilledRegs.size(), NULL),
+ Linked(Linked) {
for (VarList::const_iterator I = KilledRegs.begin(), E = KilledRegs.end();
I != E; ++I) {
Variable *Var = *I;
@@ -449,12 +451,6 @@ void Inst::dumpDecorated(const Cfg *Func) const {
Str << "\n";
}
-void Inst::emit(const Cfg * /*Func*/) const {
- llvm_unreachable("emit() called on a non-lowered instruction");
-}
-
-void Inst::emitIAS(const Cfg *Func) const { emit(Func); }
-
void Inst::dump(const Cfg *Func) const {
Ostream &Str = Func->getContext()->getStrDump();
dumpDest(Func);
@@ -754,6 +750,4 @@ void InstTarget::dump(const Cfg *Func) const {
Inst::dump(Func);
}
-void InstTarget::dumpExtras(const Cfg *Func) const { Inst::dumpExtras(Func); }
-
} // end of namespace Ice
« src/IceInst.h ('K') | « src/IceInst.h ('k') | src/IceInstX8632.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698