https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67709

--- Comment #6 from vries at gcc dot gnu.org ---
a.
I'm not sure if we still should be update inline_summaries at the point that we
do pass_omp_simd_clone. AFAICT, it's the last ipa pass. Simply cloning
pass_ipa_free_inline_summary in front of pass_omp_simd_clone fixes this.

b.
Another way of looking at this, is to look at the pass before:
pass_dispatcher_calls. It has a function create_target_clone, similar to
simd_clone_create, with a node.defition and !node.defition part. The
!node.defition part looks like:
...
      tree new_decl = copy_node (node->decl);
      new_node = cgraph_node::get_create (new_decl);
      /* Generate a new name for the new version.  */
      symtab->change_decl_assembler_name (new_node->decl,
                                          clone_function_name (node->decl,
                                                               name));
...

It does similar stuff to what simd_clone_create does. But it does not call
'symtab->call_cgraph_insertion_hooks (new_node)'.

Just removing the call also seems to work.

Reply via email to