Hi, while adding LEAF attributes, I apparently missed free. Malloc is already annotated. Fixed thus. Comitted as obvoius.
Honza cndex: ChangeLog =================================================================== --- ChangeLog (revision 202003) +++ ChangeLog (working copy) @@ -1,5 +1,9 @@ 2013-08-26 Jan Hubicka <j...@suse.cz> + * builtins.def (free): Declare leaf. + +2013-08-26 Jan Hubicka <j...@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)