From 8ddb00ca935733f5d3b07816e5bb33d6cabe6ec4 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Mon, 29 Sep 2014 12:00:40 +0100 Subject: Improve detection of lifetime holes. The check concluding that the next use was in a successor was too conservative: two blocks following each other in terms of liveness are not necessarily predecessor/sucessor. Change-Id: Ideec98046c812aa5fb63781141b5fde24c706d6d --- compiler/optimizing/ssa_liveness_analysis.cc | 1 + 1 file changed, 1 insertion(+) (limited to 'compiler/optimizing/ssa_liveness_analysis.cc') diff --git a/compiler/optimizing/ssa_liveness_analysis.cc b/compiler/optimizing/ssa_liveness_analysis.cc index 680cc0a033..cd13d81a36 100644 --- a/compiler/optimizing/ssa_liveness_analysis.cc +++ b/compiler/optimizing/ssa_liveness_analysis.cc @@ -189,6 +189,7 @@ void SsaLivenessAnalysis::ComputeLiveRanges() { } // Add a range that covers this block to all instructions live_in because of successors. + // Instructions defined in this block will have their start of the range adjusted. for (uint32_t idx : live_in->Indexes()) { HInstruction* current = instructions_from_ssa_index_.Get(idx); current->GetLiveInterval()->AddRange(block->GetLifetimeStart(), block->GetLifetimeEnd()); -- cgit v1.2.3-59-g8ed1b