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

Unified Diff: src/IceInst.h

Issue 802183004: Subzero: Use CFG-local arena allocation for relevant containers. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Typo fix Created 6 years 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/IceGlobalContext.h ('k') | src/IceInstX8632.cpp » ('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 0b3b66cda5c4d287e7e6e08c7a72b6fcb2b8760b..0b7dc039ac9a405f0ab528765bf1a3d6594429bc 100644
--- a/src/IceInst.h
+++ b/src/IceInst.h
@@ -230,7 +230,7 @@ class InstAlloca : public InstHighLevel {
public:
static InstAlloca *create(Cfg *Func, Operand *ByteCount,
uint32_t AlignInBytes, Variable *Dest) {
- return new (Func->allocateInst<InstAlloca>())
+ return new (Func->allocate<InstAlloca>())
InstAlloca(Func, ByteCount, AlignInBytes, Dest);
}
uint32_t getAlignInBytes() const { return AlignInBytes; }
@@ -261,7 +261,7 @@ public:
static InstArithmetic *create(Cfg *Func, OpKind Op, Variable *Dest,
Operand *Source1, Operand *Source2) {
- return new (Func->allocateInst<InstArithmetic>())
+ return new (Func->allocate<InstArithmetic>())
InstArithmetic(Func, Op, Dest, Source1, Source2);
}
OpKind getOp() const { return Op; }
@@ -292,8 +292,7 @@ class InstAssign : public InstHighLevel {
public:
static InstAssign *create(Cfg *Func, Variable *Dest, Operand *Source) {
- return new (Func->allocateInst<InstAssign>())
- InstAssign(Func, Dest, Source);
+ return new (Func->allocate<InstAssign>()) InstAssign(Func, Dest, Source);
}
bool isSimpleAssign() const override { return true; }
void dump(const Cfg *Func) const override;
@@ -315,12 +314,12 @@ public:
// optimized to an unconditional branch.
static InstBr *create(Cfg *Func, Operand *Source, CfgNode *TargetTrue,
CfgNode *TargetFalse) {
- return new (Func->allocateInst<InstBr>())
+ return new (Func->allocate<InstBr>())
InstBr(Func, Source, TargetTrue, TargetFalse);
}
// Create an unconditional branch.
static InstBr *create(Cfg *Func, CfgNode *Target) {
- return new (Func->allocateInst<InstBr>()) InstBr(Func, Target);
+ return new (Func->allocate<InstBr>()) InstBr(Func, Target);
}
bool isUnconditional() const { return getTargetTrue() == NULL; }
Operand *getCondition() const {
@@ -364,7 +363,7 @@ public:
// particular intrinsic is deletable and has no side-effects.
const bool HasSideEffects = true;
const InstKind Kind = Inst::Call;
- return new (Func->allocateInst<InstCall>()) InstCall(
+ return new (Func->allocate<InstCall>()) InstCall(
Func, NumArgs, Dest, CallTarget, HasTailCall, HasSideEffects, Kind);
}
void addArg(Operand *Arg) { addSource(Arg); }
@@ -406,7 +405,7 @@ public:
static InstCast *create(Cfg *Func, OpKind CastKind, Variable *Dest,
Operand *Source) {
- return new (Func->allocateInst<InstCast>())
+ return new (Func->allocate<InstCast>())
InstCast(Func, CastKind, Dest, Source);
}
OpKind getCastKind() const { return CastKind; }
@@ -427,7 +426,7 @@ class InstExtractElement : public InstHighLevel {
public:
static InstExtractElement *create(Cfg *Func, Variable *Dest, Operand *Source1,
Operand *Source2) {
- return new (Func->allocateInst<InstExtractElement>())
+ return new (Func->allocate<InstExtractElement>())
InstExtractElement(Func, Dest, Source1, Source2);
}
@@ -458,7 +457,7 @@ public:
static InstFcmp *create(Cfg *Func, FCond Condition, Variable *Dest,
Operand *Source1, Operand *Source2) {
- return new (Func->allocateInst<InstFcmp>())
+ return new (Func->allocate<InstFcmp>())
InstFcmp(Func, Condition, Dest, Source1, Source2);
}
FCond getCondition() const { return Condition; }
@@ -488,7 +487,7 @@ public:
static InstIcmp *create(Cfg *Func, ICond Condition, Variable *Dest,
Operand *Source1, Operand *Source2) {
- return new (Func->allocateInst<InstIcmp>())
+ return new (Func->allocate<InstIcmp>())
InstIcmp(Func, Condition, Dest, Source1, Source2);
}
ICond getCondition() const { return Condition; }
@@ -510,7 +509,7 @@ class InstInsertElement : public InstHighLevel {
public:
static InstInsertElement *create(Cfg *Func, Variable *Dest, Operand *Source1,
Operand *Source2, Operand *Source3) {
- return new (Func->allocateInst<InstInsertElement>())
+ return new (Func->allocate<InstInsertElement>())
InstInsertElement(Func, Dest, Source1, Source2, Source3);
}
@@ -535,7 +534,7 @@ public:
static InstIntrinsicCall *create(Cfg *Func, SizeT NumArgs, Variable *Dest,
Operand *CallTarget,
const Intrinsics::IntrinsicInfo &Info) {
- return new (Func->allocateInst<InstIntrinsicCall>())
+ return new (Func->allocate<InstIntrinsicCall>())
InstIntrinsicCall(Func, NumArgs, Dest, CallTarget, Info);
}
static bool classof(const Inst *Inst) {
@@ -564,8 +563,7 @@ public:
uint32_t Align = 1) {
// TODO(kschimpf) Stop ignoring alignment specification.
(void)Align;
- return new (Func->allocateInst<InstLoad>())
- InstLoad(Func, Dest, SourceAddr);
+ return new (Func->allocate<InstLoad>()) InstLoad(Func, Dest, SourceAddr);
}
Operand *getSourceAddress() const { return getSrc(0); }
void dump(const Cfg *Func) const override;
@@ -584,7 +582,7 @@ class InstPhi : public InstHighLevel {
public:
static InstPhi *create(Cfg *Func, SizeT MaxSrcs, Variable *Dest) {
- return new (Func->allocateInst<InstPhi>()) InstPhi(Func, MaxSrcs, Dest);
+ return new (Func->allocate<InstPhi>()) InstPhi(Func, MaxSrcs, Dest);
}
void addArgument(Operand *Source, CfgNode *Label);
Operand *getOperandForTarget(CfgNode *Target) const;
@@ -618,7 +616,7 @@ class InstRet : public InstHighLevel {
public:
static InstRet *create(Cfg *Func, Operand *RetValue = NULL) {
- return new (Func->allocateInst<InstRet>()) InstRet(Func, RetValue);
+ return new (Func->allocate<InstRet>()) InstRet(Func, RetValue);
}
bool hasRetValue() const { return getSrcSize(); }
Operand *getRetValue() const {
@@ -642,7 +640,7 @@ class InstSelect : public InstHighLevel {
public:
static InstSelect *create(Cfg *Func, Variable *Dest, Operand *Condition,
Operand *SourceTrue, Operand *SourceFalse) {
- return new (Func->allocateInst<InstSelect>())
+ return new (Func->allocate<InstSelect>())
InstSelect(Func, Dest, Condition, SourceTrue, SourceFalse);
}
Operand *getCondition() const { return getSrc(0); }
@@ -668,7 +666,7 @@ public:
uint32_t align = 1) {
// TODO(kschimpf) Stop ignoring alignment specification.
(void)align;
- return new (Func->allocateInst<InstStore>()) InstStore(Func, Data, Addr);
+ return new (Func->allocate<InstStore>()) InstStore(Func, Data, Addr);
}
Operand *getAddr() const { return getSrc(1); }
Operand *getData() const { return getSrc(0); }
@@ -689,7 +687,7 @@ class InstSwitch : public InstHighLevel {
public:
static InstSwitch *create(Cfg *Func, SizeT NumCases, Operand *Source,
CfgNode *LabelDefault) {
- return new (Func->allocateInst<InstSwitch>())
+ return new (Func->allocate<InstSwitch>())
InstSwitch(Func, NumCases, Source, LabelDefault);
}
Operand *getComparison() const { return getSrc(0); }
@@ -732,7 +730,7 @@ class InstUnreachable : public InstHighLevel {
public:
static InstUnreachable *create(Cfg *Func) {
- return new (Func->allocateInst<InstUnreachable>()) InstUnreachable(Func);
+ return new (Func->allocate<InstUnreachable>()) InstUnreachable(Func);
}
NodeList getTerminatorEdges() const override { return NodeList(); }
void dump(const Cfg *Func) const override;
@@ -763,7 +761,7 @@ class InstFakeDef : public InstHighLevel {
public:
static InstFakeDef *create(Cfg *Func, Variable *Dest, Variable *Src = NULL) {
- return new (Func->allocateInst<InstFakeDef>()) InstFakeDef(Func, Dest, Src);
+ return new (Func->allocate<InstFakeDef>()) InstFakeDef(Func, Dest, Src);
}
void emit(const Cfg *Func) const override;
void emitIAS(const Cfg * /* Func */) const override {}
@@ -786,7 +784,7 @@ class InstFakeUse : public InstHighLevel {
public:
static InstFakeUse *create(Cfg *Func, Variable *Src) {
- return new (Func->allocateInst<InstFakeUse>()) InstFakeUse(Func, Src);
+ return new (Func->allocate<InstFakeUse>()) InstFakeUse(Func, Src);
}
void emit(const Cfg *Func) const override;
void emitIAS(const Cfg * /* Func */) const override {}
@@ -814,7 +812,7 @@ class InstFakeKill : public InstHighLevel {
public:
static InstFakeKill *create(Cfg *Func, const Inst *Linked) {
- return new (Func->allocateInst<InstFakeKill>()) InstFakeKill(Func, Linked);
+ return new (Func->allocate<InstFakeKill>()) InstFakeKill(Func, Linked);
}
const Inst *getLinked() const { return Linked; }
void emit(const Cfg *Func) const override;
« no previous file with comments | « src/IceGlobalContext.h ('k') | src/IceInstX8632.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698