summaryrefslogtreecommitdiff
path: root/compiler/dex/ssa_transformation.cc
diff options
context:
space:
mode:
author Andreas Gampe <agampe@google.com> 2014-06-13 22:50:49 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2014-06-12 03:32:07 +0000
commit97ed29f800c56a06fd6989e0883e4c97bedd2453 (patch)
tree429a8e13c459265d526cd8b4b31d5ee42cfe58ba /compiler/dex/ssa_transformation.cc
parent8cd927c8f6911cfb6118b8c54550959c09eb84f8 (diff)
parent4439596b00c91f565370bf0813cc2f9165093693 (diff)
Merge "ART: Hide unreachable basic blocks in the compiler"
Diffstat (limited to 'compiler/dex/ssa_transformation.cc')
-rw-r--r--compiler/dex/ssa_transformation.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/compiler/dex/ssa_transformation.cc b/compiler/dex/ssa_transformation.cc
index 43243254f1..e26745ad5e 100644
--- a/compiler/dex/ssa_transformation.cc
+++ b/compiler/dex/ssa_transformation.cc
@@ -117,6 +117,16 @@ void MIRGraph::ComputeDFSOrders() {
RecordDFSOrders(GetEntryBlock());
num_reachable_blocks_ = dfs_order_->Size();
+
+ if (num_reachable_blocks_ != num_blocks_) {
+ // Hide all unreachable blocks.
+ AllNodesIterator iter(this);
+ for (BasicBlock* bb = iter.Next(); bb != NULL; bb = iter.Next()) {
+ if (!bb->visited) {
+ bb->Hide(cu_);
+ }
+ }
+ }
}
/*