From patchwork Sat Sep 15 02:10:20 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sandra Loosemore X-Patchwork-Id: 184059 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 4F2AE2C0086 for ; Sat, 15 Sep 2012 12:11:14 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1348279875; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject: Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:Sender:Delivered-To; bh=oLLDZHd 0xg1yr1YElOD9whS+Ttg=; b=LSWnOCljcRa0MqEkC1VJDMQvNs5ct02d0iQpPQO 8W/TwCZSCt6zbR4hNndCaBif6OU8SJuI/ckZpSCeoUS4CXj1ain3FoYJpdXFcYEq XPsLW0AiVhaW2TzPgA42NYPXy9o7SweQpxonMKNwlI/mnhCm0xKMHzxMnxSAGRXr +Cmo= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=nB75eUagnKlh+VooqzdiIrK9erE6Szl0jBesSCrqCLzgj+xrsJkrfpbzVnkI50 qs3FqJ/5WFLDgu3gDAxwB9PCl/HIc7HThK2lSg/R+ipZEpg+jBwHN6AklMpbYO1m cwsZGVsW615SeLkK2h4P0iNeE9PvntXKFKaP8qT8BscZQ=; Received: (qmail 2204 invoked by alias); 15 Sep 2012 02:11:06 -0000 Received: (qmail 1768 invoked by uid 22791); 15 Sep 2012 02:11:04 -0000 X-SWARE-Spam-Status: No, hits=-3.3 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, RCVD_IN_HOSTKARMA_W, RCVD_IN_HOSTKARMA_WL X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 15 Sep 2012 02:10:47 +0000 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1TChqD-0000XM-Sw from Sandra_Loosemore@mentor.com for gcc-patches@gcc.gnu.org; Fri, 14 Sep 2012 19:10:41 -0700 Received: from SVR-ORW-FEM-04.mgc.mentorg.com ([147.34.97.41]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Fri, 14 Sep 2012 19:10:41 -0700 Received: from [IPv6:::1] (147.34.91.1) by svr-orw-fem-04.mgc.mentorg.com (147.34.97.41) with Microsoft SMTP Server id 14.1.289.1; Fri, 14 Sep 2012 19:10:41 -0700 Message-ID: <5053E38C.808@codesourcery.com> Date: Fri, 14 Sep 2012 20:10:20 -0600 From: Sandra Loosemore User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101208 Lightning/1.0b2 Thunderbird/3.1.7 MIME-Version: 1.0 To: Subject: [PATCH, docs] Fix some obsolete info in tm.texi Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org While trying to revive an ancient 4.1-based port, I found that tm.texi still documented things like current_function_pretend_args_size which were deleted in 2008. I've updated the text to reflect the idioms used in current code. Checked in as obvious after building and inspecting the manual. -Sandra 2012-09-14 Sandra Loosemore gcc/ * doc/tm.texi.in (Stack Arguments): Update obsolete references to current_function_outgoing_args_size. (Function Entry): Likewise for current_function_pops_args, current_function_pretend_args_size, current_function_outgoing_args_size, and current_function_epilogue_delay_list. (Misc): Fix garbled sentence referencing nonexistent current_function_leaf_function. * doc/tm.texi: Regenerated. Index: gcc/doc/tm.texi.in =================================================================== --- gcc/doc/tm.texi.in (revision 191332) +++ gcc/doc/tm.texi.in (working copy) @@ -3863,11 +3863,12 @@ alignment. Then the definition should b If the value of this macro has a type, it should be an unsigned type. @end defmac -@findex current_function_outgoing_args_size +@findex outgoing_args_size +@findex crtl->outgoing_args_size @defmac ACCUMULATE_OUTGOING_ARGS A C expression. If nonzero, the maximum amount of space required for outgoing arguments -will be computed and placed into the variable -@code{current_function_outgoing_args_size}. No space will be pushed +will be computed and placed into +@code{crtl->outgoing_args_size}. No space will be pushed onto the stack for each call; instead, the function prologue should increase the stack frame size by this amount. @@ -3901,7 +3902,7 @@ if the function called is a library func If @code{ACCUMULATE_OUTGOING_ARGS} is defined, this macro controls whether the space for these arguments counts in the value of -@code{current_function_outgoing_args_size}. +@code{crtl->outgoing_args_size}. @end defmac @defmac STACK_PARMS_IN_REG_PARM_AREA @@ -4700,7 +4701,8 @@ others leave that for the caller to do. given @option{-mrtd} pops arguments in functions that take a fixed number of arguments. -@findex current_function_pops_args +@findex pops_args +@findex crtl->args.pops_args Your definition of the macro @code{RETURN_POPS_ARGS} decides which functions pop their own arguments. @code{TARGET_ASM_FUNCTION_EPILOGUE} needs to know what was decided. The number of bytes of the current @@ -4710,8 +4712,9 @@ function's arguments that this function @itemize @bullet @item -@findex current_function_pretend_args_size -A region of @code{current_function_pretend_args_size} bytes of +@findex pretend_args_size +@findex crtl->args.pretend_args_size +A region of @code{crtl->args.pretend_args_size} bytes of uninitialized space just underneath the first argument arriving on the stack. (This may not be at the very start of the allocated stack region if the calling sequence has pushed anything else since pushing the stack @@ -4738,7 +4741,7 @@ save area closer to the top of the stack @item @cindex @code{ACCUMULATE_OUTGOING_ARGS} and stack frames Optionally, when @code{ACCUMULATE_OUTGOING_ARGS} is defined, a region of -@code{current_function_outgoing_args_size} bytes to be used for outgoing +@code{crtl->outgoing_args_size} bytes to be used for outgoing argument lists of the function. @xref{Stack Arguments}. @end itemize @@ -4787,11 +4790,12 @@ may be reconsidered for a subsequent del (at least in principle) be considered for the so far unfilled delay slot. -@findex current_function_epilogue_delay_list +@findex epilogue_delay_list +@findex crtl->epilogue_delay_list @findex final_scan_insn The insns accepted to fill the epilogue delay slots are put in an RTL -list made with @code{insn_list} objects, stored in the variable -@code{current_function_epilogue_delay_list}. The insn for the first +list made with @code{insn_list} objects, stored in +@code{crtl->epilogue_delay_list}. The insn for the first delay slot comes first in the list. Your definition of the macro @code{TARGET_ASM_FUNCTION_EPILOGUE} should fill the delay slots by outputting the insns in this list, usually by calling @@ -10831,8 +10835,8 @@ the hard register itself, if it is known @code{MEM}. If you are returning a @code{MEM}, this is only a hint for the allocator; it might decide to use another register anyways. -You may use @code{current_function_leaf_function} in the hook, functions -that use @code{REG_N_SETS}, to determine if the hard +You may use @code{current_function_is_leaf} or +@code{REG_N_SETS} in the hook to determine if the hard register in question will not be clobbered. The default value of this hook is @code{NULL}, which disables any special allocation.