summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.cc
diff options
context:
space:
mode:
author David Brazdil <dbrazdil@google.com> 2015-05-26 13:23:51 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-05-26 13:23:52 +0000
commitce63cf656bb5b25051d580a58086f4bf15fb878b (patch)
treee97aef5d9067aed0f95813dca4a83852271e36b7 /compiler/optimizing/nodes.cc
parent092a5656937a319449346e8c356f3f4c2870d81c (diff)
parentc7af85dad0dc392cfc0b373b0c1cb4b4197c89f4 (diff)
Merge "ART: Update graph's exit block field if removed"
Diffstat (limited to 'compiler/optimizing/nodes.cc')
-rw-r--r--compiler/optimizing/nodes.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes.cc b/compiler/optimizing/nodes.cc
index 47da9cc17c..2ece5a559c 100644
--- a/compiler/optimizing/nodes.cc
+++ b/compiler/optimizing/nodes.cc
@@ -1290,11 +1290,16 @@ void HGraph::DeleteDeadBlock(HBasicBlock* block) {
block->RemovePhi(it.Current()->AsPhi());
}
+ if (block->IsExitBlock()) {
+ exit_block_ = nullptr;
+ }
+
reverse_post_order_.Delete(block);
blocks_.Put(block->GetBlockId(), nullptr);
}
void HGraph::InlineInto(HGraph* outer_graph, HInvoke* invoke) {
+ DCHECK(HasExitBlock()) << "Unimplemented scenario";
if (GetBlocks().Size() == 3) {
// Simple case of an entry block, a body block, and an exit block.
// Put the body block's instruction into `invoke`'s block.