From f529d776ca9f48b115714f6c79677755ecc37d24 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Fri, 2 May 2014 11:03:30 +0100 Subject: Make all registers available when allocating an output register. On ARM we currently only have two register pairs available, so we need to use one already used for an input. Change-Id: I5411862310009a41e50ddab3549d3a9e9052266a --- compiler/optimizing/code_generator.cc | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'compiler/optimizing/code_generator.cc') diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index ff316e5b04..8b85d71dae 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -132,6 +132,12 @@ void CodeGenerator::AllocateRegistersLocally(HInstruction* instruction) const { } } + // Make all registers available for the return value. + for (size_t i = 0, e = GetNumberOfRegisters(); i < e; ++i) { + blocked_registers_[i] = false; + } + SetupBlockedRegisters(blocked_registers_); + Location result_location = locations->Out(); if (result_location.IsUnallocated()) { switch (result_location.GetPolicy()) { -- cgit v1.2.3-59-g8ed1b