diff options
author | 2014-10-15 11:35:44 +0100 | |
---|---|---|
committer | 2014-10-15 11:35:44 +0100 | |
commit | aa7b8a329561c6e1f05938ddc5e9c4be795cd8a5 (patch) | |
tree | ddef401bac18e2ae346647651f77a64b08d18f9f | |
parent | 2df6840f68dd18d7dd8dbf53f8b6181bbfdc4fc4 (diff) |
Quick: Avoid node iteration for passes that don't need it.
Change-Id: Ic1f6796a29ba861cee37a31193e07b497b84eb3f
-rw-r--r-- | compiler/dex/pass.h | 3 | ||||
-rw-r--r-- | compiler/dex/post_opt_passes.h | 22 |
2 files changed, 14 insertions, 11 deletions
diff --git a/compiler/dex/pass.h b/compiler/dex/pass.h index c377426ed5..e349eed76d 100644 --- a/compiler/dex/pass.h +++ b/compiler/dex/pass.h @@ -85,6 +85,9 @@ class Pass { // Unused parameter. UNUSED(data); + // Passes that do all their work in Start() or End() should not allow useless node iteration. + DCHECK(false) << "Unsupported default Worker() used for " << GetName(); + // BasicBlock did not change. return false; } diff --git a/compiler/dex/post_opt_passes.h b/compiler/dex/post_opt_passes.h index e7805bae68..395d0e104c 100644 --- a/compiler/dex/post_opt_passes.h +++ b/compiler/dex/post_opt_passes.h @@ -30,7 +30,7 @@ namespace art { */ class InitializeData : public PassME { public: - InitializeData() : PassME("InitializeData") { + InitializeData() : PassME("InitializeData", kNoNodes) { } void Start(PassDataHolder* data) const { @@ -76,7 +76,7 @@ class ClearPhiInstructions : public PassME { */ class CalculatePredecessors : public PassME { public: - CalculatePredecessors() : PassME("CalculatePredecessors") { + CalculatePredecessors() : PassME("CalculatePredecessors", kNoNodes) { } void Start(PassDataHolder* data) const; @@ -88,7 +88,7 @@ class CalculatePredecessors : public PassME { */ class DFSOrders : public PassME { public: - DFSOrders() : PassME("DFSOrders") { + DFSOrders() : PassME("DFSOrders", kNoNodes) { } void Start(PassDataHolder* data) const { @@ -105,7 +105,7 @@ class DFSOrders : public PassME { */ class BuildDomination : public PassME { public: - BuildDomination() : PassME("BuildDomination") { + BuildDomination() : PassME("BuildDomination", kNoNodes) { } void Start(PassDataHolder* data) const { @@ -133,7 +133,7 @@ class BuildDomination : public PassME { */ class TopologicalSortOrders : public PassME { public: - TopologicalSortOrders() : PassME("TopologicalSortOrders") { + TopologicalSortOrders() : PassME("TopologicalSortOrders", kNoNodes) { } void Start(PassDataHolder* data) const { @@ -150,7 +150,7 @@ class TopologicalSortOrders : public PassME { */ class DefBlockMatrix : public PassME { public: - DefBlockMatrix() : PassME("DefBlockMatrix") { + DefBlockMatrix() : PassME("DefBlockMatrix", kNoNodes) { } void Start(PassDataHolder* data) const { @@ -167,7 +167,7 @@ class DefBlockMatrix : public PassME { */ class CreatePhiNodes : public PassME { public: - CreatePhiNodes() : PassME("CreatePhiNodes") { + CreatePhiNodes() : PassME("CreatePhiNodes", kNoNodes) { } void Start(PassDataHolder* data) const { @@ -185,7 +185,7 @@ class CreatePhiNodes : public PassME { class ClearVisitedFlag : public PassME { public: - ClearVisitedFlag() : PassME("ClearVisitedFlag") { + ClearVisitedFlag() : PassME("ClearVisitedFlag", kNoNodes) { } void Start(PassDataHolder* data) const { @@ -202,7 +202,7 @@ class ClearVisitedFlag : public PassME { */ class SSAConversion : public PassME { public: - SSAConversion() : PassME("SSAConversion") { + SSAConversion() : PassME("SSAConversion", kNoNodes) { } void Start(PassDataHolder* data) const { @@ -241,7 +241,7 @@ class PhiNodeOperands : public PassME { */ class PerformInitRegLocations : public PassME { public: - PerformInitRegLocations() : PassME("PerformInitRegLocation") { + PerformInitRegLocations() : PassME("PerformInitRegLocation", kNoNodes) { } void Start(PassDataHolder* data) const { @@ -286,7 +286,7 @@ class ConstantPropagation : public PassME { */ class FreeData : public PassME { public: - FreeData() : PassME("FreeData") { + FreeData() : PassME("FreeData", kNoNodes) { } void End(PassDataHolder* data) const { |