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

Unified Diff: runtime/vm/intermediate_language.h

Issue 3001403002: [vm] Cleanup Instruction::Dependencies(), EffectSet, BlockEffects (Closed)
Patch Set: Created 3 years, 4 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 | « runtime/vm/flow_graph_range_analysis.cc ('k') | runtime/vm/intermediate_language.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/intermediate_language.h
diff --git a/runtime/vm/intermediate_language.h b/runtime/vm/intermediate_language.h
index b21b8669d6be272c7e77a21591b5c394d343283f..cf88355652cc58038b7783cb807fb4c8fd44093a 100644
--- a/runtime/vm/intermediate_language.h
+++ b/runtime/vm/intermediate_language.h
@@ -178,34 +178,6 @@ class CompileType : public ZoneAllocated {
const AbstractType* type_;
};
-// TODO(dartbug.com/30474): remove EffectSet as there are no tracked effects
-// anymore.
-class EffectSet : public ValueObject {
- public:
- enum Effects {
- kNoEffects = 0,
- kUnusedEffect = 1, // Currently unused.
- kLastEffect = kUnusedEffect
- };
-
- EffectSet(const EffectSet& other) : ValueObject(), effects_(other.effects_) {}
-
- bool IsNone() const { return effects_ == kNoEffects; }
-
- static EffectSet None() { return EffectSet(kNoEffects); }
- static EffectSet All() {
- ASSERT(EffectSet::kLastEffect == 1);
- return EffectSet(kUnusedEffect);
- }
-
- bool ToInt() { return effects_; }
-
- private:
- explicit EffectSet(intptr_t effects) : effects_(effects) {}
-
- intptr_t effects_;
-};
-
class Value : public ZoneAllocated {
public:
// A forward iterator that allows removing the current value from the
@@ -877,12 +849,6 @@ class Instruction : public ZoneAllocated {
// See StoreInstanceFieldInstr::HasUnknownSideEffects() for rationale.
virtual bool HasUnknownSideEffects() const = 0;
- // Returns set of effects that affect this instruction.
- virtual EffectSet Dependencies() const {
- UNREACHABLE();
- return EffectSet::All();
- }
-
// Get the block entry for this instruction.
virtual BlockEntryInstr* GetBlock();
@@ -986,8 +952,6 @@ class PureInstruction : public Instruction {
explicit PureInstruction(intptr_t deopt_id) : Instruction(deopt_id) {}
virtual bool AllowsCSE() const { return true; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
-
virtual bool HasUnknownSideEffects() const { return false; }
};
@@ -1106,11 +1070,6 @@ class ParallelMoveInstr : public TemplateInstruction<0, NoThrow> {
return false;
}
- virtual EffectSet Dependencies() const {
- UNREACHABLE(); // This instruction never visited by optimization passes.
- return EffectSet::None();
- }
-
MoveOperands* AddMove(Location dest, Location src) {
MoveOperands* move = new MoveOperands(dest, src);
moves_.Add(move);
@@ -1226,7 +1185,6 @@ class BlockEntryInstr : public Instruction {
virtual bool ComputeCanDeoptimize() const { return false; }
virtual bool HasUnknownSideEffects() const { return false; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
virtual bool MayThrow() const { return false; }
@@ -1472,7 +1430,6 @@ class JoinEntryInstr : public BlockEntryInstr {
void RemovePhi(PhiInstr* phi);
virtual bool HasUnknownSideEffects() const { return false; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
PRINT_TO_SUPPORT
@@ -1884,8 +1841,6 @@ class PureDefinition : public Definition {
explicit PureDefinition(intptr_t deopt_id) : Definition(deopt_id) {}
virtual bool AllowsCSE() const { return true; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
-
virtual bool HasUnknownSideEffects() const { return false; }
};
@@ -2037,7 +1992,6 @@ class ParameterInstr : public Definition {
virtual bool ComputeCanDeoptimize() const { return false; }
virtual bool HasUnknownSideEffects() const { return false; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
virtual intptr_t Hashcode() const {
UNREACHABLE();
@@ -2182,8 +2136,6 @@ class StopInstr : public TemplateInstruction<0, NoThrow> {
virtual bool HasUnknownSideEffects() const { return false; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
-
private:
const char* message_;
@@ -2386,8 +2338,6 @@ class ComparisonInstr : public Definition {
class PureComparison : public ComparisonInstr {
public:
virtual bool AllowsCSE() const { return true; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
-
virtual bool HasUnknownSideEffects() const { return false; }
protected:
@@ -2538,7 +2488,6 @@ class RedefinitionInstr : public TemplateDefinition<1, NoThrow> {
CompileType* constrained_type() const { return constrained_type_; }
virtual bool ComputeCanDeoptimize() const { return false; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
virtual bool HasUnknownSideEffects() const { return false; }
private:
@@ -2737,7 +2686,7 @@ class SpecialParameterInstr : public TemplateDefinition<0, NoThrow> {
virtual bool ComputeCanDeoptimize() const { return false; }
virtual bool HasUnknownSideEffects() const { return false; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
+
virtual bool AttributesEqual(Instruction* other) const {
return kind() == other->AsSpecialParameter()->kind();
}
@@ -3261,9 +3210,7 @@ class IfThenElseInstr : public Definition {
virtual bool HasUnknownSideEffects() const {
return comparison()->HasUnknownSideEffects();
}
- virtual EffectSet Dependencies() const {
- return comparison()->Dependencies();
- }
+
virtual bool AttributesEqual(Instruction* other) const {
IfThenElseInstr* other_if_then_else = other->AsIfThenElse();
return (comparison()->tag() == other_if_then_else->comparison()->tag()) &&
@@ -3781,7 +3728,7 @@ class LoadStaticFieldInstr : public TemplateDefinition<1, NoThrow> {
return StaticField().is_final() && !FLAG_fields_may_be_reset;
}
virtual bool HasUnknownSideEffects() const { return false; }
- virtual EffectSet Dependencies() const;
+
virtual bool AttributesEqual(Instruction* other) const;
virtual TokenPosition token_pos() const { return token_pos_; }
@@ -4516,7 +4463,7 @@ class LoadFieldInstr : public TemplateDefinition<1, NoThrow> {
virtual bool AllowsCSE() const { return immutable_; }
virtual bool HasUnknownSideEffects() const { return false; }
- virtual EffectSet Dependencies() const;
+
virtual bool AttributesEqual(Instruction* other) const;
PRINT_OPERANDS_TO_SUPPORT
@@ -7620,8 +7567,8 @@ class CheckClassInstr : public TemplateInstruction<1, NoThrow> {
intptr_t ComputeCidMask() const;
virtual bool AllowsCSE() const { return true; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
virtual bool HasUnknownSideEffects() const { return false; }
+
virtual bool AttributesEqual(Instruction* other) const;
bool licm_hoisted() const { return licm_hoisted_; }
@@ -7700,8 +7647,8 @@ class CheckClassIdInstr : public TemplateInstruction<1, NoThrow> {
virtual Instruction* Canonicalize(FlowGraph* flow_graph);
virtual bool AllowsCSE() const { return true; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
virtual bool HasUnknownSideEffects() const { return false; }
+
virtual bool AttributesEqual(Instruction* other) const { return true; }
PRINT_OPERANDS_TO_SUPPORT
@@ -7768,7 +7715,6 @@ class GenericCheckBoundInstr : public TemplateInstruction<2, Throws, NoCSE> {
Value* index() const { return inputs_[kIndexPos]; }
virtual bool HasUnknownSideEffects() const { return false; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
DECLARE_INSTRUCTION(GenericCheckBound)
@@ -7819,7 +7765,7 @@ class UnboxedIntConverterInstr : public TemplateDefinition<1, NoThrow> {
}
virtual bool HasUnknownSideEffects() const { return false; }
- virtual EffectSet Dependencies() const { return EffectSet::None(); }
+
virtual bool AttributesEqual(Instruction* other) const {
ASSERT(other->IsUnboxedIntConverter());
UnboxedIntConverterInstr* converter = other->AsUnboxedIntConverter();
« no previous file with comments | « runtime/vm/flow_graph_range_analysis.cc ('k') | runtime/vm/intermediate_language.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698