This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] fix PR34413: ltrans-7.f90 fails on amd64-linux
- From: David Daney <ddaney at avtrex dot com>
- To: Sebastian Pop <sebpop at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 20 Dec 2007 20:46:23 -0800
- Subject: Re: [patch] fix PR34413: ltrans-7.f90 fails on amd64-linux
- References: <cb9d34b20712191928kbe40c7by759bde43f30d4d5d@mail.gmail.com>
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.
(gdb) bt
#0 0x00000000004d839a in fold_convert (type=0x0, arg=0x2aaaae327960)
at ../../trunk/gcc/fold-const.c:2482
#1 0x00000000007bffa4 in chrec_convert_1 (type=0x0, chrec=0x2aaaae327960,
at_stmt=0x0, use_overflow_semantics=1 '\001')
at ../../trunk/gcc/tree-chrec.c:1307
#2 0x00000000005beaa7 in subscript_dependence_tester_1 (ddr=0xe9db30,
dra=0xe9e2b0, drb=0xe9e330, loop_nest=0x2aaab0a38820)
at ../../trunk/gcc/tree-data-ref.c:1493
#3 0x00000000005bf7c0 in subscript_dependence_tester (ddr=0xe9db30,
loop_nest=0x2aaab0a38820) at ../../trunk/gcc/tree-data-ref.c:3191
#4 0x00000000005c0958 in compute_all_dependences (datarefs=0xe9de80,
dependence_relations=0x7fff085b64c8, loop_nest=0xf3db30,
compute_self_and_rr=1 '\001') at ../../trunk/gcc/tree-data-ref.c:3820
#5 0x00000000005c1639 in compute_data_dependences_for_loop (
loop=0x2aaab0a38820, compute_self_and_read_read_dependences=1 '\001',
datarefs=0x7fff085b64d0, dependence_relations=0x7fff085b64c8)
at ../../trunk/gcc/tree-data-ref.c:4132
#6 0x00000000005e3482 in tree_predictive_commoning_loop
(loop=0x2aaab0a38820)
at ../../trunk/gcc/tree-predcom.c:2496
#7 0x00000000005e4aaa in tree_predictive_commoning ()
at ../../trunk/gcc/tree-predcom.c:2605
#8 0x000000000062c3c7 in run_tree_predictive_commoning ()
at ../../trunk/gcc/tree-ssa-loop.c:183
#9 0x0000000000534132 in execute_one_pass (pass=0xb81080)
at ../../trunk/gcc/passes.c:1118
#10 0x00000000005342bc in execute_pass_list (pass=0xb81080)
at ../../trunk/gcc/passes.c:1171
#11 0x00000000005342ce in execute_pass_list (pass=0xb80f00)
at ../../trunk/gcc/passes.c:1172
#12 0x00000000005342ce in execute_pass_list (pass=0xb80360)
at ../../trunk/gcc/passes.c:1172
#13 0x00000000005d8da2 in tree_rest_of_compilation (fndecl=0x2aaab0927820)
at ../../trunk/gcc/tree-optimize.c:404
#14 0x00000000006bd9e2 in cgraph_expand_function (node=0x2aaab0931100)
at ../../trunk/gcc/cgraphunit.c:1151
#15 0x00000000006be74e in cgraph_assemble_pending_functions ()
at ../../trunk/gcc/cgraphunit.c:522
#16 0x00000000006beaaa in cgraph_finalize_function (decl=0x2aaab0927820,
nested=0 '\0') at ../../trunk/gcc/cgraphunit.c:639
#17 0x000000000040dbdc in end_java_method ()
at ../../trunk/gcc/java/decl.c:1810
#18 0x000000000042afc5 in parse_class_file ()
at ../../trunk/gcc/java/jcf-parse.c:1698
#19 0x000000000042bb8c in java_parse_file (set_yydebug=<value optimized
out>)
at ../../trunk/gcc/java/jcf-parse.c:2113
#20 0x00000000005a7965 in toplev_main (argc=<value optimized out>,
argv=<value optimized out>) at ../../trunk/gcc/toplev.c:1042
#21 0x0000003d85e1d8a4 in __libc_start_main () from /lib64/libc.so.6
#22 0x0000000000403e99 in _start ()