From nobody Thu Oct 2 10:18:34 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1545773097596137.72879845813134; Tue, 25 Dec 2018 13:24:57 -0800 (PST) Received: from localhost ([127.0.0.1]:43289 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gbuC8-0006re-6l for importer@patchew.org; Tue, 25 Dec 2018 16:24:56 -0500 Received: from eggs.gnu.org ([208.118.235.92]:51037) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gbtoN-0000bA-Kv for qemu-devel@nongnu.org; Tue, 25 Dec 2018 16:00:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gbtoL-0002Ky-Nf for qemu-devel@nongnu.org; Tue, 25 Dec 2018 16:00:23 -0500 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]:38018) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gbtoJ-0002IV-Ph for qemu-devel@nongnu.org; Tue, 25 Dec 2018 16:00:20 -0500 Received: by mail-pl1-x632.google.com with SMTP id e5so6811399plb.5 for ; Tue, 25 Dec 2018 13:00:19 -0800 (PST) Received: from cloudburst.home (c211-28-135-144.sunsh3.vic.optusnet.com.au. [211.28.135.144]) by smtp.gmail.com with ESMTPSA id t21sm48501628pgg.24.2018.12.25.13.00.14 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 25 Dec 2018 13:00:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=2VlpoSTHDdSc3NpvOsuyPcdxjlPKZe4fpjTOk9GKiAY=; b=XWkmdLAJs6HejBe6u3jV2BwY/BSPq5gp9wlPhq4aSj8ZrvMvjCBPo1W4VNhGWANEUw jYF3SxKz7k7E5tEU0h7x1+Szt3SU7JXQxJg8n2tHozl7f9C4CDhiDd/dGPcH3AntWAO3 vzNbyQPdjj8ym0hmQThGOLvBwObWlo+ogg6IA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=2VlpoSTHDdSc3NpvOsuyPcdxjlPKZe4fpjTOk9GKiAY=; b=tmLstdojP9Ixen4Pfc7cngH8kMIElL/j+v4QIOuaQ4ZFbqiWcyYKvJ9iGsJVRBW5K0 MHNbVupogZsExyEUJUzrFIoqcT/+5Tr88Ihaq5S9PVYaJsVxuOrCyOfB24UWx4e/RHsP b5laWV2x/rsIn0ZZIoMTC6GAMLUDVE3ADV6SDg3X9xQp1lhgYYU5kj4h4VdARCPPfOJW aJ0N9IWO2yNb6jMhrZZUW6AKAau9MeSHmQYfRLmpdXSo/vFwIpVF7KiO3A7sJIwLxNTp LLQ2JZHaMvoiyF3W1zoEB0VZqv+wMRXK3TY1PrzekoByvXwgiDOE3fDDA1J48M6VLizf wp+g== X-Gm-Message-State: AJcUukcnVMJ9vgMkL6iijFEDLaMVzCWnF7uIhig3z480GsbJ+QKnpnml iRUffYJOUcahRptHIuecqeLHRjYpPtw= X-Google-Smtp-Source: ALg8bN5kOdRhSZxCqsekFcUsLxeeBT2doL3tf9M+J7MNIg00E3rzK85G5KMXQdGWrKrB1mMsR1+6uA== X-Received: by 2002:a17:902:b943:: with SMTP id h3mr17686016pls.12.1545771618496; Tue, 25 Dec 2018 13:00:18 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Wed, 26 Dec 2018 07:55:29 +1100 Message-Id: <20181225205529.10874-43-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20181225205529.10874-1-richard.henderson@linaro.org> References: <20181225205529.10874-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::632 Subject: [Qemu-devel] [PULL 42/42] tcg: Improve call argument loading X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Free the argument register only after we have verified that the temporary is not already in that register. This case is likely now that we are back propagating the preferred register. Signed-off-by: Richard Henderson --- tcg/tcg.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tcg/tcg.c b/tcg/tcg.c index 5f8c09b0b4..c54b119020 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -3611,15 +3611,16 @@ static void tcg_reg_alloc_call(TCGContext *s, TCGOp= *op) if (arg !=3D TCG_CALL_DUMMY_ARG) { ts =3D arg_temp(arg); reg =3D tcg_target_call_iarg_regs[i]; - tcg_reg_free(s, reg, allocated_regs); =20 if (ts->val_type =3D=3D TEMP_VAL_REG) { if (ts->reg !=3D reg) { + tcg_reg_free(s, reg, allocated_regs); tcg_out_mov(s, ts->type, reg, ts->reg); } } else { TCGRegSet arg_set =3D 0; =20 + tcg_reg_free(s, reg, allocated_regs); tcg_regset_set_reg(arg_set, reg); temp_load(s, ts, arg_set, allocated_regs, 0); } --=20 2.17.2