summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2014-10-15 11:35:44 +0100
committer Vladimir Marko <vmarko@google.com> 2014-10-15 11:35:44 +0100
commitaa7b8a329561c6e1f05938ddc5e9c4be795cd8a5 (patch)
treeddef401bac18e2ae346647651f77a64b08d18f9f
parent2df6840f68dd18d7dd8dbf53f8b6181bbfdc4fc4 (diff)
Quick: Avoid node iteration for passes that don't need it.
Change-Id: Ic1f6796a29ba861cee37a31193e07b497b84eb3f
-rw-r--r--compiler/dex/pass.h3
-rw-r--r--compiler/dex/post_opt_passes.h22
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 {