From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 105171 invoked by alias); 10 May 2015 16:44:09 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 105161 invoked by uid 89); 10 May 2015 16:44:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: atrey.karlin.mff.cuni.cz Received: from atrey.karlin.mff.cuni.cz (HELO atrey.karlin.mff.cuni.cz) (195.113.26.193) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 10 May 2015 16:44:07 +0000 Received: by atrey.karlin.mff.cuni.cz (Postfix, from userid 4018) id 4B17581FA1; Sun, 10 May 2015 18:44:05 +0200 (CEST) Date: Sun, 10 May 2015 16:44:00 -0000 From: Jan Hubicka To: Alexander Monakov Cc: gcc-patches@gcc.gnu.org, Rich Felker , ubizjak@gmail.com, vmakarov@redhat.com Subject: Re: [PATCH i386] Move CLOBBERED_REGS earlier in register class list Message-ID: <20150510164402.GG9659@atrey.karlin.mff.cuni.cz> References: <1430757479-14241-1-git-send-email-amonakov@ispras.ru> <1430757479-14241-3-git-send-email-amonakov@ispras.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1430757479-14241-3-git-send-email-amonakov@ispras.ru> User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes X-SW-Source: 2015-05/txt/msg00855.txt.bz2 > On 32-bit x86, register class CLOBBERED_REGS is a proper subset of > LEGACY_REGS, which causes IRA not to consider it separately for register > allocation, even when it has lower cost than other classes. This patch is > useful to fix code generation problem that appears with no-PLT PIC tailcalls. > > Was there a specific reason for CLOBBERED_REGS class to be listed as late as > it is? On 32-bit this class contains only EAX, ECX, EDX. Uros moved CLOBBERED_REGS late in https://gcc.gnu.org/ml/gcc-patches/2012-08/msg00796.html which contains a rationale, too. I am adding Uros and Vladimir to CC just in case they missed the email :) Honza > > OK? > * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS before Q_REGS. > (REG_CLASS_NAMES): Ditto. > (REG_CLASS_CONTENTS): Ditto. >