summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2014-12-17 16:18:23 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2014-12-17 16:18:23 +0000
commit8012102dea15e62fce94f6ac32e301aa0cb3f52d (patch)
tree47ce8a40410af799be2e2e90759d6e9c7fc3dbb4 /compiler/optimizing/nodes.cc
parent44a7f89cff6c93f5a900a02e9fa92613ea2f3f8e (diff)
parent7c5367badfe61b96c5836d495d286cee64861579 (diff)
Merge "Fix ids and remove invoke when inlining."
Diffstat (limited to 'compiler/optimizing/nodes.cc')
-rw-r--r--compiler/optimizing/nodes.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/optimizing/nodes.cc b/compiler/optimizing/nodes.cc
index fb941b542f..4133cf676f 100644
--- a/compiler/optimizing/nodes.cc
+++ b/compiler/optimizing/nodes.cc
@@ -750,13 +750,16 @@ void HGraph::InlineInto(HGraph* outer_graph, HInvoke* invoke) {
}
}
- // Finally, replace the invoke with the return value of the inlined graph.
+ // Replace the invoke with the return value of the inlined graph.
if (last->IsReturn()) {
invoke->ReplaceWith(last->InputAt(0));
body->RemoveInstruction(last);
} else {
DCHECK(last->IsReturnVoid());
}
+
+ // Finally remove the invoke from the caller.
+ invoke->GetBlock()->RemoveInstruction(invoke);
}
} // namespace art