Quick: Avoid node iteration for passes that don't need it.
Change-Id: Ic1f6796a29ba861cee37a31193e07b497b84eb3f
diff --git a/compiler/dex/pass.h b/compiler/dex/pass.h
index c377426..e349eed 100644
--- a/compiler/dex/pass.h
+++ b/compiler/dex/pass.h
@@ -85,6 +85,9 @@
// 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 e7805ba..395d0e1 100644
--- a/compiler/dex/post_opt_passes.h
+++ b/compiler/dex/post_opt_passes.h
@@ -30,7 +30,7 @@
*/
class InitializeData : public PassME {
public:
- InitializeData() : PassME("InitializeData") {
+ InitializeData() : PassME("InitializeData", kNoNodes) {
}
void Start(PassDataHolder* data) const {
@@ -76,7 +76,7 @@
*/
class CalculatePredecessors : public PassME {
public:
- CalculatePredecessors() : PassME("CalculatePredecessors") {
+ CalculatePredecessors() : PassME("CalculatePredecessors", kNoNodes) {
}
void Start(PassDataHolder* data) const;
@@ -88,7 +88,7 @@
*/
class DFSOrders : public PassME {
public:
- DFSOrders() : PassME("DFSOrders") {
+ DFSOrders() : PassME("DFSOrders", kNoNodes) {
}
void Start(PassDataHolder* data) const {
@@ -105,7 +105,7 @@
*/
class BuildDomination : public PassME {
public:
- BuildDomination() : PassME("BuildDomination") {
+ BuildDomination() : PassME("BuildDomination", kNoNodes) {
}
void Start(PassDataHolder* data) const {
@@ -133,7 +133,7 @@
*/
class TopologicalSortOrders : public PassME {
public:
- TopologicalSortOrders() : PassME("TopologicalSortOrders") {
+ TopologicalSortOrders() : PassME("TopologicalSortOrders", kNoNodes) {
}
void Start(PassDataHolder* data) const {
@@ -150,7 +150,7 @@
*/
class DefBlockMatrix : public PassME {
public:
- DefBlockMatrix() : PassME("DefBlockMatrix") {
+ DefBlockMatrix() : PassME("DefBlockMatrix", kNoNodes) {
}
void Start(PassDataHolder* data) const {
@@ -167,7 +167,7 @@
*/
class CreatePhiNodes : public PassME {
public:
- CreatePhiNodes() : PassME("CreatePhiNodes") {
+ CreatePhiNodes() : PassME("CreatePhiNodes", kNoNodes) {
}
void Start(PassDataHolder* data) const {
@@ -185,7 +185,7 @@
class ClearVisitedFlag : public PassME {
public:
- ClearVisitedFlag() : PassME("ClearVisitedFlag") {
+ ClearVisitedFlag() : PassME("ClearVisitedFlag", kNoNodes) {
}
void Start(PassDataHolder* data) const {
@@ -202,7 +202,7 @@
*/
class SSAConversion : public PassME {
public:
- SSAConversion() : PassME("SSAConversion") {
+ SSAConversion() : PassME("SSAConversion", kNoNodes) {
}
void Start(PassDataHolder* data) const {
@@ -241,7 +241,7 @@
*/
class PerformInitRegLocations : public PassME {
public:
- PerformInitRegLocations() : PassME("PerformInitRegLocation") {
+ PerformInitRegLocations() : PassME("PerformInitRegLocation", kNoNodes) {
}
void Start(PassDataHolder* data) const {
@@ -286,7 +286,7 @@
*/
class FreeData : public PassME {
public:
- FreeData() : PassME("FreeData") {
+ FreeData() : PassME("FreeData", kNoNodes) {
}
void End(PassDataHolder* data) const {