From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5094 invoked by alias); 21 Oct 2014 18:31:30 -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 5074 invoked by uid 89); 21 Oct 2014 18:31:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Tue, 21 Oct 2014 18:31:29 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s9LIVQ5Z030390 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 21 Oct 2014 14:31:26 -0400 Received: from [10.3.113.119] (ovpn-113-119.phx2.redhat.com [10.3.113.119]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s9LIVPeu027922; Tue, 21 Oct 2014 14:31:26 -0400 Message-ID: <5446A681.4070001@redhat.com> Date: Tue, 21 Oct 2014 18:36:00 -0000 From: Jeff Law User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Bernd Schmidt , GCC Patches Subject: Re: The nvptx port [2/11+] No register allocation References: <54451994.9070209@codesourcery.com> <54451A34.8000401@codesourcery.com> In-Reply-To: <54451A34.8000401@codesourcery.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2014-10/txt/msg02161.txt.bz2 On 10/20/14 14:20, Bernd Schmidt wrote: > Since it's a virtual target, I've chosen not to run register allocation. > This is one of the patches necessary to make that work, it primarily > adds a target hook to disable it and fixes some of the fallout. > > > Bernd > > > 002-noregalloc.diff > > > gcc/ > * target.def (no_register_allocation): New data hook. > * doc/tm.texi.in: Add @hook TARGET_NO_REGISTER_ALLOCATION. > * doc/tm.texi: Regenerate. > * ira.c (gate_ira): New function. > (pass_data_ira): Set has_gate. > (pass_ira): Add a gate function. > (pass_data_reload): Likewise. > (pass_reload): Add a gate function. > (pass_ira): Use it. > * reload1.c (eliminate_regs): If reg_eliminte_is NULL, assert that > no register allocation happens on the target and return. > * final.c (alter_subreg): Ensure register is not a pseudo before > calling simplify_subreg. > (output_operand): Assert that x isn't a pseudo only if doing > register allocation.\ s/reg_eliminte/reg_eliminate/ Otherwise this looks fine. Note potential for rethinking this change at some point in the future as we get more experience with these kinds of targets. Jeff