diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2023-02-20 11:24:38 +0100 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2023-02-20 11:24:38 +0100 |
commit | e23e7f14a51d93d87516c92efedc67f742a1213f (patch) | |
tree | 9487266062c200e1866e05e17b05036e838d6daf /gcc/cgraph.cc | |
parent | 3448f0fa239430156d7ebbcab6cf1abb6095b242 (diff) | |
parent | 24a3d7353f4194ca95b951718cf6d834d7bbb6af (diff) | |
download | gcc-e23e7f14a51d93d87516c92efedc67f742a1213f.zip gcc-e23e7f14a51d93d87516c92efedc67f742a1213f.tar.gz gcc-e23e7f14a51d93d87516c92efedc67f742a1213f.tar.bz2 |
Merge remote-tracking branch 'upstream/tschwinge/merge-upstream'
Diffstat (limited to 'gcc/cgraph.cc')
-rw-r--r-- | gcc/cgraph.cc | 10 |
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 |