From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12748 invoked by alias); 9 Jul 2004 09:25:14 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 12719 invoked from network); 9 Jul 2004 09:25:11 -0000 Received: from unknown (HELO mail.polimi.it) (131.175.12.67) by sourceware.org with SMTP; 9 Jul 2004 09:25:11 -0000 Received: from polimi.it (paride.rett.polimi.it [131.175.65.135]) (authenticated bits=0) by mail.polimi.it (Switch-3.0.5/Switch-3.0.0) with ESMTP id i699P2pT026464; Fri, 9 Jul 2004 11:25:04 +0200 (MEST) Message-ID: <40EE6551.6090603@polimi.it> Date: Fri, 09 Jul 2004 09:43:00 -0000 From: Paolo Bonzini User-Agent: Mozilla Thunderbird 0.5 (Windows/20040207) MIME-Version: 1.0 To: Paolo Bonzini CC: Richard Henderson , Paolo Bonzini , gcc-patches@gcc.gnu.org Subject: [RFT/RFA] gimplify pa va_arg References: <20040708195110.GC20150@redhat.com> <40EE4596.1090008@polimi.it> In-Reply-To: <40EE4596.1090008@polimi.it> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-PMX-Version: 4.6.0.99824, Antispam-Core: 4.6.1.104326, Antispam-Data: 2004.7.8.106480 X-PerlMx-Spam: Gauge=%%XPROB%%IIIIIII, Probability=7%, Report='__MOZILLA_MSGID 0, __HAS_MSGID 0, __SANE_MSGID 0, __USER_AGENT 0, X_ACCEPT_LANG 0, __MIME_VERSION 0, __TO_MALFORMED_2 0, __REFERENCES 0, __IN_REP_TO 0, __EVITE_CTYPE 0, __CT_TEXT_PLAIN 0, __CT 0, __CTE 0, __UNUSABLE_MSGID 0, __MIME_TEXT_ONLY 0, REFERENCES 0.000, IN_REP_TO 0, USER_AGENT 0.000' X-SW-Source: 2004-07/txt/msg00911.txt.bz2 And here is the second. This gives several differences for both PA and PA64 in the struct case. For PA64, it looks like awful optimization on part of the current mainline GCC (but HPPA assembly is not my forte). For PA, the only important change is that the frame grows from 64 to 128 bytes, but again I cannot figure it out. I attach two sdiffs to help review. Ok for mainline? Paolo 2004-07-09 Paolo Bonzini * config/pa/pa.h (EXPAND_BUILTIN_VA_ARG): Do not define. * config/pa/pa.c (hppa_gimplify_va_arg_expr): New, based on hppa_va_arg. Produce GIMPLE in the pre-queue instead of expanding trees to RTL.