diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2017-06-09 20:36:50 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2017-06-09 18:36:50 +0000 |
commit | cb59f689a37fc39178b9ac5fa595c63b3d7eddc0 (patch) | |
tree | 20113d73599fd0ff67d931b5c31ceee4a1749191 /gcc/tree-core.h | |
parent | d225aa745d015e453ae4d47307b486b5c21824fb (diff) | |
download | gcc-cb59f689a37fc39178b9ac5fa595c63b3d7eddc0.zip gcc-cb59f689a37fc39178b9ac5fa595c63b3d7eddc0.tar.gz gcc-cb59f689a37fc39178b9ac5fa595c63b3d7eddc0.tar.bz2 |
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
Diffstat (limited to 'gcc/tree-core.h')
-rw-r--r-- | gcc/tree-core.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-core.h b/gcc/tree-core.h index ea73477..34e5c17 100644 --- a/gcc/tree-core.h +++ b/gcc/tree-core.h @@ -93,6 +93,9 @@ struct die_struct; /* Nonzero if this is an indirect call by descriptor. */ #define ECF_BY_DESCRIPTOR (1 << 14) +/* Nonzero if this is a cold function. */ +#define ECF_COLD (1 << 15) + /* Call argument flags. */ /* Nonzero if the argument is not dereferenced recursively, thus only directly reachable memory is read or written. */ |