On May 26, 2016 4:39:02 PM GMT+02:00, Richard Sandiford 
<richard.sandif...@arm.com> wrote:
>tree-ssa-loop-ivopts.c:loop_body_includes_call was treating internal
>calls such as IFN_SQRT as clobbering all caller-saved registers, which
>I don't think is appropriate for any current internal function.
>
>Tested on aarch64-linux-gnu and x86_64-linux-gnu.  OK to install?

OK.

Richard.

>Thanks,
>Richard
>
>
>gcc/
>       * tree-ssa-loop-ivopts.c (loop_body_includes_call): Don't assume
>       that internal functions will clobber all caller-saved registers.
>
>diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c
>index 9ce6b64..23c9886 100644
>--- a/gcc/tree-ssa-loop-ivopts.c
>+++ b/gcc/tree-ssa-loop-ivopts.c
>@@ -7643,6 +7643,7 @@ loop_body_includes_call (basic_block *body,
>unsigned num_nodes)
>       {
>       gimple *stmt = gsi_stmt (gsi);
>       if (is_gimple_call (stmt)
>+          && !gimple_call_internal_p (stmt)
>           && !is_inexpensive_builtin (gimple_call_fndecl (stmt)))
>         return true;
>       }


Reply via email to