diff options
| author | 2014-12-17 16:18:23 +0000 | |
|---|---|---|
| committer | 2014-12-17 16:18:23 +0000 | |
| commit | 8012102dea15e62fce94f6ac32e301aa0cb3f52d (patch) | |
| tree | 47ce8a40410af799be2e2e90759d6e9c7fc3dbb4 /compiler/optimizing/nodes.cc | |
| parent | 44a7f89cff6c93f5a900a02e9fa92613ea2f3f8e (diff) | |
| parent | 7c5367badfe61b96c5836d495d286cee64861579 (diff) | |
Merge "Fix ids and remove invoke when inlining."
Diffstat (limited to 'compiler/optimizing/nodes.cc')
| -rw-r--r-- | compiler/optimizing/nodes.cc | 5 |
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 |