[patch] PR 57362

H.J. Lu hjl.tools@gmail.com
Thu May 23 00:14:00 GMT 2013


On Wed, May 22, 2013 at 4:20 PM, Sriraman Tallam <tmsriram@google.com> wrote:
> Hi,
>
>    http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57362
>
>    This ICE reported here happens because the array storing the
> function versions that should be processed is not indexed correctly.
> This patch fixes this. This only happens when some versions cannot be
> dispatched because a dispatcher for that is not available or is an
> invalid target.
>
>
> Is this alright?
>
> Thanks,
> Sri
>
>         PR 57362
>         * config/i386/i386.c (dispatch_function_versions):  Use
> actual_versions to index into
>         function_version_info.
>
> Index: config/i386/i386.c
> ===================================================================
> --- config/i386/i386.c  (revision 199219)
> +++ config/i386/i386.c  (working copy)
> @@ -29061,10 +29061,10 @@ dispatch_function_versions (tree dispatch_decl,
>        if (predicate_chain == NULL_TREE)
>         continue;
>
> +      function_version_info [actual_versions].version_decl = version_decl;
> +      function_version_info [actual_versions].predicate_chain =
> predicate_chain;
> +      function_version_info [actual_versions].dispatch_priority = priority;
>        actual_versions++;
> -      function_version_info [ix - 1].version_decl = version_decl;
> -      function_version_info [ix - 1].predicate_chain = predicate_chain;
> -      function_version_info [ix - 1].dispatch_priority = priority;
>      }
>
>    /* Sort the versions according to descending order of dispatch priority.  The

You should also add the testcase in PR57362.

--
H.J.



More information about the Gcc-patches mailing list