diff options
author | 2014-07-14 10:36:21 +0000 | |
---|---|---|
committer | 2014-07-10 20:18:52 +0000 | |
commit | 1cad41d900201422cedcbe7837935d17bbf28ed8 (patch) | |
tree | 8858489463a57c7b50f7db4d972abec21302b7a7 /compiler/optimizing/ssa_liveness_analysis.cc | |
parent | cf90ba7ebe00346651f3b7ce1e5b1f785f7caabd (diff) | |
parent | e50383288a75244255d3ecedcc79ffe9caf774cb (diff) |
Merge "Support fields in optimizing compiler."
Diffstat (limited to 'compiler/optimizing/ssa_liveness_analysis.cc')
-rw-r--r-- | compiler/optimizing/ssa_liveness_analysis.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/compiler/optimizing/ssa_liveness_analysis.cc b/compiler/optimizing/ssa_liveness_analysis.cc index 50ea00f4cd..fbdc0b9593 100644 --- a/compiler/optimizing/ssa_liveness_analysis.cc +++ b/compiler/optimizing/ssa_liveness_analysis.cc @@ -204,9 +204,12 @@ void SsaLivenessAnalysis::ComputeLiveRanges() { // All inputs of an instruction must be live. for (size_t i = 0, e = current->InputCount(); i < e; ++i) { HInstruction* input = current->InputAt(i); - DCHECK(input->HasSsaIndex()); - live_in->SetBit(input->GetSsaIndex()); - input->GetLiveInterval()->AddUse(current, i, false); + // Some instructions 'inline' their inputs, that is they do not need + // to be materialized. + if (input->HasSsaIndex()) { + live_in->SetBit(input->GetSsaIndex()); + input->GetLiveInterval()->AddUse(current, i, false); + } } if (current->HasEnvironment()) { |