Message ID | 20130828072128.GB8260@kam.mff.cuni.cz |
---|---|
State | New |
Headers | show |
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
=================================================================== --- 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)