builtin-attrs.def (ATTR_NORETURN_NOTHROW_LEAF_COLD_LIST, [...]): New.
authorJan Hubicka <hubicka@ucw.cz>
Fri, 9 Jun 2017 18:36:50 +0000 (20:36 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 9 Jun 2017 18:36:50 +0000 (18:36 +0000)
commitcb59f689a37fc39178b9ac5fa595c63b3d7eddc0
tree20113d73599fd0ff67d931b5c31ceee4a1749191
parentd225aa745d015e453ae4d47307b486b5c21824fb
builtin-attrs.def (ATTR_NORETURN_NOTHROW_LEAF_COLD_LIST, [...]): New.

* builtin-attrs.def (ATTR_NORETURN_NOTHROW_LEAF_COLD_LIST,
ATTR_CONST_NORETURN_NOTHROW_LEAF_COLD_LIST,
ATTR_TMPURE_NORETURN_NOTHROW_LEAF_COLD_LIST): New.
* builtins.def (abort, trap, unreachable): Declare cold.
* calls.c (flags_from_decl_or_type): Lookup ECF_COLD.
* tree-core.h (ECF_COLD): New.
* tree.c (set_call_expr_flags): Handle ECF_COLD.
(build_common_builtin_nodes): Mark unreachable and abort as cold.

* class.c (build_vtbl_initializer): Mark dvirt_fn as cold.
* decl.c (cxx_init_decl_processing, push_throw_library_fn): Likewise.
(excpet.c): Mark terminate as cold.

* gcc.dg/predict-14.c: Avoid cold function detection.
* gcc.target/i386/umod-3.c: Likewise.

From-SVN: r249070
13 files changed:
gcc/ChangeLog
gcc/builtin-attrs.def
gcc/builtins.def
gcc/calls.c
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/decl.c
gcc/cp/except.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/predict-14.c
gcc/testsuite/gcc.target/i386/umod-3.c
gcc/tree-core.h
gcc/tree.c