From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ln01.mxout.alfaservers.com (ln01.mxout.alfaservers.com [85.17.185.57]) by sourceware.org (Postfix) with ESMTPS id A7CDA3858C27 for ; Wed, 21 Oct 2020 09:39:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A7CDA3858C27 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=blueice.be Authentication-Results: sourceware.org; spf=none smtp.mailfrom=henri.cloetens@blueice.be Received: from [91.176.63.30] (port=47226 helo=[192.168.250.29]) by ln01.alfaservers.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1kVAao-0003mS-Kv for gcc-help@gcc.gnu.org; Wed, 21 Oct 2020 11:39:38 +0200 To: gcc-help From: Henri Cloetens Subject: question on TARGET_SECONDARY_RELOAD Message-ID: Date: Wed, 21 Oct 2020 11:40:46 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 Content-Language: en-MW X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - ln01.alfaservers.com X-AntiAbuse: Original Domain - gcc.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - blueice.be X-Get-Message-Sender-Via: ln01.alfaservers.com: authenticated_id: henri.cloetens@blueice.be X-Authenticated-Sender: ln01.alfaservers.com: henri.cloetens@blueice.be X-Source: X-Source-Args: X-Source-Dir: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HTML_MESSAGE, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-help@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-help mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Oct 2020 09:39:41 -0000 Hello all, When writing my custom backend, I hit problems when more processor registers are needed than there are available. In this case,   - it works without the optimizer (Obviously . Without the optimizer, the compiler puts all on the stack.)   - it crashes with the optimizer. It crashes in the reload step, seems to me it fails to put some variables in memory. This seems to be associated with my implementation of preferred_reload_class and secondary_reload. This is from the log: /blueproc_secondary_reload , return NO_REGS, rclass = BASE_REGS, mode = SI, type 1 x:// //(reg/v:SI 333 [ ndigits ])// // //blueproc_preferred_reload_class, return BASE_REGS, rclass = BASE_REGS, mode = SI, x:// //(reg/v:SI 333 [ ndigits ])// // //blueproc_preferred_reload_class, return BASE_REGS, rclass = BASE_REGS, mode = SI, x:// //(reg/v:SI 333 [ ndigits ])// / Now, something is obviously wrong. Secondary reload returns /no_regs/, meaning it should go straigth to memory. But, question, what should I do with the /sri->code/ and /sri->cost/ arguments ??. Best Regards, Henri.