diff options
author | 2014-06-13 22:50:49 +0000 | |
---|---|---|
committer | 2014-06-12 03:32:07 +0000 | |
commit | 97ed29f800c56a06fd6989e0883e4c97bedd2453 (patch) | |
tree | 429a8e13c459265d526cd8b4b31d5ee42cfe58ba /compiler/dex/ssa_transformation.cc | |
parent | 8cd927c8f6911cfb6118b8c54550959c09eb84f8 (diff) | |
parent | 4439596b00c91f565370bf0813cc2f9165093693 (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.cc | 10 |
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_); + } + } + } } /* |