This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] fix PR34413: ltrans-7.f90 fails on amd64-linux


Sebastian Pop wrote:
> On Dec 20, 2007 11:14 PM, David Daney <ddaney@avtrex.com> wrote:
>   
>> David Daney wrote:
>>     
>>> Sebastian Pop wrote:
>>>
>>>       
>>>> Hi,
>>>> the attached patch fixes the loop interchange for this important
>>>> testcase.  The original patch that I sent as feedback to the PR
>>>> http://gcc.gnu.org/PR34413 fails for two cases in the vectorizer
>>>> vect-{104,105}.c where the type of the chrec_a is a pointer type and
>>>> the difference expected chrec_b to be of size_type in that case.  This
>>>> patch uses a larger integer type, long_integer_type_node instead of
>>>> integer_type_node, such that on 64 bit machines pointer types can fit
>>>> in.  The patch bootstrapped and passed testsuite fixing ltrans-7.f90
>>>> on an amd64-linux.  I will commit the patch to trunk.
>>>>
>>>> Sebastian
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>> Hash: SHA1
>>>>
>>>> 2007-12-19  Sebastian Pop  <sebastian.pop@amd.com>
>>>>
>>>>      PR tree-optimization/34413
>>>>      * tree-data-ref.c (affine_fn_op, analyze_ziv_subscript,
>>>>      analyze_siv_subscript_cst_affine, analyze_miv_subscript,
>>>>      omega_setup_subscript): Use long_integer_type_node instead of
>>>>      integer_type_node.
>>>>
>>>>
>>>>
>>>>         
>>> This causes an ICE on certain java code.
>>> long_integer_type_node is NULL.  I am not sure where it is supposed to
>>> be initialized.
>>>
>>>
>>>       
>> For java *type_node is initialize in gcc/java/decl.c in
>> java_init_decl_processing ().  Java does not initialize
>> long_integer_type_node thus the ICE because your patch uses
>> long_integer_type_node.
>>
>> For the time being I am going to revert this patch in my local tree.  My
>> testcase is a 1000 class 600,000 line program.  If a reduced test case
>> is needed I may be able to generate one in a couple of days.
>>
>>     
>
> I'm testing another patch for using the front-end specific signed types
> from a type.  Attached is the patch that I'm bootstrapping on amd64-linux.
>
> Sorry for the fails,
> Sebastian
>   
> ------------------------------------------------------------------------
>
> 2007-12-20  Sebastian Pop  <sebastian.pop@amd.com>
>
> 	* tree-data-ref.c (signed_type_for_types): New.
> 	(affine_fn_op): Use signed_type_for_types and signed_type_for instead
> 	of long_integer_type_node.
> 	(analyze_ziv_subscript): Same.
> 	(analyze_siv_subscript_cst_affine): Same.
> 	(analyze_miv_subscript): Same.
> 	(omega_setup_subscript): Same.
>
>   
This patch fixes the ICE in my testcase.

Thanks,
David Daney


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]