aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraph.cc
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2023-02-18 07:35:28 +0100
committerThomas Schwinge <thomas@codesourcery.com>2023-02-18 07:35:28 +0100
commitcf4670ff8f39029d6a617d76fe9b59c154f89a46 (patch)
tree3f8469a01472a086ed046c73f933fc4cf798af67 /gcc/cgraph.cc
parent5752164328fb2f101a88c6d298dd517436a140ba (diff)
parent9dcfee4ef1a165b7fe525d71fc090a1bcae550cd (diff)
downloadgcc-cf4670ff8f39029d6a617d76fe9b59c154f89a46.zip
gcc-cf4670ff8f39029d6a617d76fe9b59c154f89a46.tar.gz
gcc-cf4670ff8f39029d6a617d76fe9b59c154f89a46.tar.bz2
Merge commit '9dcfee4ef1a165b7fe525d71fc090a1bcae550cd' into HEAD
Diffstat (limited to 'gcc/cgraph.cc')
-rw-r--r--gcc/cgraph.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/cgraph.cc b/gcc/cgraph.cc
index 06bc980..f352212 100644
--- a/gcc/cgraph.cc
+++ b/gcc/cgraph.cc
@@ -2764,6 +2764,9 @@ set_const_flag_1 (cgraph_node *node, bool set_const, bool looping,
if (!set_const || alias->get_availability () > AVAIL_INTERPOSABLE)
set_const_flag_1 (alias, set_const, looping, changed);
}
+ for (struct cgraph_node *n = node->simd_clones; n != NULL;
+ n = n->simdclone->next_clone)
+ set_const_flag_1 (n, set_const, looping, changed);
for (cgraph_edge *e = node->callers; e; e = e->next_caller)
if (e->caller->thunk
&& (!set_const || e->caller->get_availability () > AVAIL_INTERPOSABLE))
@@ -2876,6 +2879,9 @@ cgraph_node::set_pure_flag (bool pure, bool looping)
{
struct set_pure_flag_info info = {pure, looping, false};
call_for_symbol_thunks_and_aliases (set_pure_flag_1, &info, !pure, true);
+ for (struct cgraph_node *n = simd_clones; n != NULL;
+ n = n->simdclone->next_clone)
+ set_pure_flag_1 (n, &info);
return info.changed;
}
@@ -3248,11 +3254,11 @@ cgraph_edge::verify_corresponds_to_fndecl (tree decl)
node = node->ultimate_alias_target ();
/* Optimizers can redirect unreachable calls or calls triggering undefined
- behavior to __builtin_unreachable or __builtin_trap. */
+ behavior to __builtin_unreachable or __builtin_unreachable trap. */
if (fndecl_built_in_p (callee->decl, BUILT_IN_NORMAL)
&& (DECL_FUNCTION_CODE (callee->decl) == BUILT_IN_UNREACHABLE
- || DECL_FUNCTION_CODE (callee->decl) == BUILT_IN_TRAP))
+ || DECL_FUNCTION_CODE (callee->decl) == BUILT_IN_UNREACHABLE_TRAP))
return false;
if (callee->former_clone_of != node->decl