summaryrefslogtreecommitdiff
path: root/gcc/cp/class.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2017-06-09 18:36:50 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2017-06-09 18:36:50 +0000
commit642860fc678eab4c994cee6f682d2bfa4bc18aeb (patch)
tree20113d73599fd0ff67d931b5c31ceee4a1749191 /gcc/cp/class.c
parent23653b72c843a68f7e71f1dfd2d7bbcfd854195a (diff)
downloadgcc-642860fc678eab4c994cee6f682d2bfa4bc18aeb.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249070 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/class.c')
-rw-r--r--gcc/cp/class.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 227466ec913..66f42627715 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -9727,7 +9727,7 @@ build_vtbl_initializer (tree binfo,
dvirt_fn = push_library_fn
(name,
build_function_type_list (void_type_node, NULL_TREE),
- NULL_TREE, ECF_NORETURN);
+ NULL_TREE, ECF_NORETURN | ECF_COLD);
}
fn = dvirt_fn;
if (!TARGET_VTABLE_USES_DESCRIPTORS)