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

David Daney ddaney@avtrex.com
Fri Dec 21 07:12:00 GMT 2007

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
>> ------------------------------------------------------------------------
>> 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

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.

David Daney

More information about the Gcc-patches mailing list