From patchwork Wed Nov 28 05:38:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 152182 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp686737ljp; Tue, 27 Nov 2018 21:39:51 -0800 (PST) X-Google-Smtp-Source: AFSGD/X+bH6BXvShITBVn8ZRINb3haoJRv36L1bMCcb9LkHaPfKbVnV4w3V2+ldyRiVXW35UNApi X-Received: by 2002:a0d:c281:: with SMTP id e123mr4868728ywd.118.1543383591490; Tue, 27 Nov 2018 21:39:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543383591; cv=none; d=google.com; s=arc-20160816; b=aoX0S+v93gN5Fod5m2ykuRrLP2GwrqQQs6kbEToLMGWz4cFUrEX/PqQ1YmVP1FfYj9 8eyNU4ZagmzHTm0U6ZjQQ51boOgInj56s4Yp5L+s00gF+4hzEO1wo1aQy577kyW+Q+cA R/8T5MwnkAizI3W+RbMp3n2sZne8UepN5j3IFezmljj7rU0BNb1f0OQ4PCYWL4TM3AbJ pkuOUXnPpw2hWSyrm8SOQUjetloLgYUlIACQhKRMPPq22A6ae59JzcLSxhDBRZjgw99e dVKBNcPivqDW0AFoHKCs3iKAmMVeDk7udTj/yL+GgnXkSQN/AXZaacKpg0QT0GCFAh4U bWEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:message-id:date:to:from :dkim-signature; bh=Pgb8B0lA4SX0nUn9tzYXztCCstCcmqi15CAtLpV3STs=; b=M8ad+arzYtj6+TAg9q0CMe7l4Nb2mSrr8EsNMOFLao2VmeyJXny0VwureNjbsQeVVI 469Mxzxxtgrlh9wrrnJSCjiz7EdfBFjLm2o0wsOW9/FdoHoCRJ0D7L8+Ubl4LMzvtGSU 2XTfnjBsik2ZtX5YFC3uESogG9Hq0JM6kOGZlDqoOfLT2QzbQOMVSgc5IQneeDp/R8gU Jft8qDKAgq08XhwjijcDsFZbhQOrfofluq5T4ixVEBghmfeCJcppI0MzNpMGavIilV48 bHxYuH74KJ040eNS+0bEG4+ss/ryyc8yC7CoXYj9bLdVKneSFoDDjasdhBP78KPVrv8/ Fl9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=VOEcGwC6; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id z63-v6si3742723yba.492.2018.11.27.21.39.51 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 27 Nov 2018 21:39:51 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=VOEcGwC6; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:46030 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRsZi-0004e5-SR for patch@linaro.org; Wed, 28 Nov 2018 00:39:50 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47812) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRsYc-0003kB-LA for qemu-devel@nongnu.org; Wed, 28 Nov 2018 00:38:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRsYY-0004Hp-LV for qemu-devel@nongnu.org; Wed, 28 Nov 2018 00:38:42 -0500 Received: from mail-pg1-x530.google.com ([2607:f8b0:4864:20::530]:39154) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gRsYY-0004GP-Fs for qemu-devel@nongnu.org; Wed, 28 Nov 2018 00:38:38 -0500 Received: by mail-pg1-x530.google.com with SMTP id w6so8978407pgl.6 for ; Tue, 27 Nov 2018 21:38:37 -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; bh=Pgb8B0lA4SX0nUn9tzYXztCCstCcmqi15CAtLpV3STs=; b=VOEcGwC6dVDqhKRvDaMd3JHGGis96BW7/A1UQv6lZ9SYWn3NYvCXnJsEU6MsCTxlnE 02h6FE9pkvYP8Af+wVEp4aZnZRwFtx7hnXAYGm20goorSpKTWhI+eNq5WjacYcNotmwd h76Vka1Gtfloqo3iwzW+v841R6VIy1S3U8KNE= 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; bh=Pgb8B0lA4SX0nUn9tzYXztCCstCcmqi15CAtLpV3STs=; b=IvvamExeWI20eJljZajJ28NLP/ENZknEKdxRzGM12IDrVnAXSyqGOFOLgagUiTnjtP Ym3BMgNMPIGtXo3Pw/L0XAlel3AZBP/l/I05IlnTNgAPVMS8TkvVULpvGcA0pHO8WzOK tDn6vZMIKUW7tH3mt9H5bz65dNXRPCzzJnKqXD2NPX5pNH5vJWkaWS5hIxiMZgKCEyg/ 8LcGmq1ZcILo5MpunlImx3h08GggJ8NVlnOK0EfByS7kn1JObFPBag6rSMwicYtn+4Sv BXJG76JgaqGQ0fpJsqmxgagknDPpH1y8Ws5i0uKozo/wqUGs4gqmDNinPZeoENrXaRF8 1Adw== X-Gm-Message-State: AA+aEWZKt2usxcwT6jfR8AcUUy4ndbvq6NnP+LitYSxVRo4bQPWbJpQa 1DjE05pPhsByVzoo/4F2Rh28OpPsD+Q= X-Received: by 2002:a62:5950:: with SMTP id n77mr21678721pfb.128.1543383516409; Tue, 27 Nov 2018 21:38:36 -0800 (PST) Received: from cloudburst.twiddle.net (97-113-170-180.tukw.qwest.net. [97.113.170.180]) by smtp.gmail.com with ESMTPSA id 19sm8569336pfs.108.2018.11.27.21.38.35 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 27 Nov 2018 21:38:35 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Tue, 27 Nov 2018 21:38:22 -0800 Message-Id: <20181128053834.10861-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.2 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::530 Subject: [Qemu-devel] [PATCH 00/12] tcg: Improve register allocation for calls 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: cota@braap.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The intent here is to remove several move insns putting the function arguments into the proper place. I'm hoping that this will solve the skylake regression with spec2006, as seen with the ool softmmu patch set. Emilio, all of this is present on my tcg-next-for-4.0 branch. r~ Richard Henderson (12): tcg: Add preferred_reg argument to tcg_reg_alloc tcg: Add preferred_reg argument to temp_load tcg: Add preferred_reg argument to temp_sync tcg: Add preferred_reg argument to tcg_reg_alloc_do_movi tcg: Add output_pref to TCGOp tcg: Improve register allocation for matching constraints tcg: Dump register preference info with liveness tcg: Reindent parts of liveness_pass_1 tcg: Rename and adjust liveness_pass_1 helpers tcg: Split out more subroutines from liveness_pass_1 tcg: Add TCG_OPF_BB_EXIT tcg: Record register preferences during liveness tcg/tcg-opc.h | 7 +- tcg/tcg.h | 20 +- tcg/tcg.c | 527 +++++++++++++++++++++++++++++++++++++------------- 3 files changed, 405 insertions(+), 149 deletions(-) -- 2.17.2 Reviewed-by: Emilio G. Cota