Patchwork Annotate free as leaf

login
register
mail settings
Submitter Jan Hubicka
Date Aug. 28, 2013, 7:21 a.m.
Message ID <20130828072128.GB8260@kam.mff.cuni.cz>
Download mbox | patch
Permalink /patch/270377/
State New
Headers show

Comments

Jan Hubicka - Aug. 28, 2013, 7:21 a.m.
Hi,
while adding LEAF attributes, I apparently missed free.   Malloc is already annotated.
Fixed thus. Comitted as obvoius.

Honza
cndex: ChangeLog
Jakub Jelinek - Aug. 28, 2013, 7:35 a.m.
On Wed, Aug 28, 2013 at 09:21:28AM +0200, Jan Hubicka wrote:
> while adding LEAF attributes, I apparently missed free.   Malloc is already annotated.
> Fixed thus. Comitted as obvoius.

Given that glibc headers mark free as leaf and nothing has been reported
against it, it is probably fine; but you've ignored the comment that
told you to adjust also BUILT_IN_TM_FREE.

> --- ChangeLog	(revision 202003)
> +++ ChangeLog	(working copy)
> @@ -1,5 +1,9 @@
>  2013-08-26  Jan Hubicka  <jh@suse.cz>
>  
> +	 * builtins.def (free): Declare leaf.
> +
> +2013-08-26  Jan Hubicka  <jh@suse.cz>
> +
>  	* cgraph.c (cgraph_propagate_frequency): Do not assume that virtual
>  	methods can not be called indirectly when their address is not taken.
>  
> Index: builtins.def
> ===================================================================
> --- builtins.def	(revision 202000)
> +++ builtins.def	(working copy)
> @@ -694,7 +694,7 @@ DEF_EXT_LIB_BUILTIN    (BUILT_IN_FFSLL,
>  DEF_EXT_LIB_BUILTIN        (BUILT_IN_FORK, "fork", BT_FN_PID, ATTR_NOTHROW_LIST)
>  DEF_GCC_BUILTIN        (BUILT_IN_FRAME_ADDRESS, "frame_address", BT_FN_PTR_UINT, ATTR_NULL)
>  /* [trans-mem]: Adjust BUILT_IN_TM_FREE if BUILT_IN_FREE is changed.  */
> -DEF_LIB_BUILTIN        (BUILT_IN_FREE, "free", BT_FN_VOID_PTR, ATTR_NOTHROW_LIST)
> +DEF_LIB_BUILTIN        (BUILT_IN_FREE, "free", BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
>  DEF_GCC_BUILTIN        (BUILT_IN_FROB_RETURN_ADDR, "frob_return_addr", BT_FN_PTR_PTR, ATTR_NULL)
>  DEF_EXT_LIB_BUILTIN    (BUILT_IN_GETTEXT, "gettext", BT_FN_STRING_CONST_STRING, ATTR_FORMAT_ARG_1)
>  DEF_C99_BUILTIN        (BUILT_IN_IMAXABS, "imaxabs", BT_FN_INTMAX_INTMAX, ATTR_CONST_NOTHROW_LEAF_LIST)

	Jakub

Patch

===================================================================
--- ChangeLog	(revision 202003)
+++ ChangeLog	(working copy)
@@ -1,5 +1,9 @@ 
 2013-08-26  Jan Hubicka  <jh@suse.cz>
 
+	 * builtins.def (free): Declare leaf.
+
+2013-08-26  Jan Hubicka  <jh@suse.cz>
+
 	* cgraph.c (cgraph_propagate_frequency): Do not assume that virtual
 	methods can not be called indirectly when their address is not taken.
 
Index: builtins.def
===================================================================
--- builtins.def	(revision 202000)
+++ builtins.def	(working copy)
@@ -694,7 +694,7 @@  DEF_EXT_LIB_BUILTIN    (BUILT_IN_FFSLL,
 DEF_EXT_LIB_BUILTIN        (BUILT_IN_FORK, "fork", BT_FN_PID, ATTR_NOTHROW_LIST)
 DEF_GCC_BUILTIN        (BUILT_IN_FRAME_ADDRESS, "frame_address", BT_FN_PTR_UINT, ATTR_NULL)
 /* [trans-mem]: Adjust BUILT_IN_TM_FREE if BUILT_IN_FREE is changed.  */
-DEF_LIB_BUILTIN        (BUILT_IN_FREE, "free", BT_FN_VOID_PTR, ATTR_NOTHROW_LIST)
+DEF_LIB_BUILTIN        (BUILT_IN_FREE, "free", BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST)
 DEF_GCC_BUILTIN        (BUILT_IN_FROB_RETURN_ADDR, "frob_return_addr", BT_FN_PTR_PTR, ATTR_NULL)
 DEF_EXT_LIB_BUILTIN    (BUILT_IN_GETTEXT, "gettext", BT_FN_STRING_CONST_STRING, ATTR_FORMAT_ARG_1)
 DEF_C99_BUILTIN        (BUILT_IN_IMAXABS, "imaxabs", BT_FN_INTMAX_INTMAX, ATTR_CONST_NOTHROW_LEAF_LIST)