[PATCH] Fix PR58417 -- r202700 appears to be causing ICEs

Kyrill Tkachov kyrylo.tkachov@arm.com
Thu Sep 19 14:01:00 GMT 2013


On 18/09/13 20:37, Paul Pluzhnikov wrote:
> Richard,
>
> I am seeing ICEs in libstdc++ make check that I didn't see yesterday:

I'm also seeing these on arm and aarch64.

Kyrill

>
>
> spawn /home/ppluzhnikov/Archive/gcc-svn/build/./gcc/xg++
> -shared-libgcc -B/home/ppluzhnikov/Archive/gcc-svn/build/./gcc
> -nostdinc++ -L/home/ppluzhnikov/Archive/gcc-svn/build/x86_64-unknown-linux-gnu/libstdc++-v3/src
> -L/home/ppluzhnikov/Archive/gcc-svn/build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
> -L/home/ppluzhnikov/Archive/gcc-svn/build/x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
> -B/home/ppluzhnikov/Archive/gcc-svn-install/x86_64-unknown-linux-gnu/bin/
> -B/home/ppluzhnikov/Archive/gcc-svn-install/x86_64-unknown-linux-gnu/lib/
> -isystem /home/ppluzhnikov/Archive/gcc-svn-install/x86_64-unknown-linux-gnu/include
> -isystem /home/ppluzhnikov/Archive/gcc-svn-install/x86_64-unknown-linux-gnu/sys-include
> -B/home/ppluzhnikov/Archive/gcc-svn/build/x86_64-unknown-linux-gnu/./libstdc++-v3/src/.libs
> -D_GLIBCXX_ASSERT -fmessage-length=0 -ffunction-sections
> -fdata-sections -g -O2 -D_GNU_SOURCE -g -O2 -D_GNU_SOURCE
> -DLOCALEDIR="." -nostdinc++
> -I/home/ppluzhnikov/Archive/gcc-svn/build/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
> -I/home/ppluzhnikov/Archive/gcc-svn/build/x86_64-unknown-linux-gnu/libstdc++-v3/include
> -I/home/ppluzhnikov/Archive/gcc-svn/libstdc++-v3/libsupc++
> -I/home/ppluzhnikov/Archive/gcc-svn/libstdc++-v3/include/backward
> -I/home/ppluzhnikov/Archive/gcc-svn/libstdc++-v3/testsuite/util
> /home/ppluzhnikov/Archive/gcc-svn/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc
> -std=c++0x ./libtestc++.a -Wl,--gc-sections -lm -o ./default.exe
> /home/ppluzhnikov/Archive/gcc-svn/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc:
> In constructor '__gnu_cxx::normal_mv_distribution<_Dimen,
> _RealType>::param_type::param_type() [with long unsigned int _Dimen =
> 2ul; _RealType = double]':
> /home/ppluzhnikov/Archive/gcc-svn/libstdc++-v3/testsuite/ext/random/normal_mv_distribution/cons/default.cc:49:1:
> internal compiler error: in build_polynomial_chrec, at
> tree-chrec.h:148
>   }
>   ^
> 0xf57001 build_polynomial_chrec
>          ../../gcc/tree-chrec.h:148
> 0xf5b8ab chrec_fold_plus_1
>          ../../gcc/tree-chrec.c:321
> 0xf5c441 chrec_fold_plus_poly_poly
>          ../../gcc/tree-chrec.c:153
> 0xf5c441 chrec_fold_plus_1
>          ../../gcc/tree-chrec.c:279
> 0xb6ef7a interpret_rhs_expr
>          ../../gcc/tree-scalar-evolution.c:1692
> 0xb6fecd interpret_gimple_assign
>          ../../gcc/tree-scalar-evolution.c:1810
> 0xb6fecd analyze_scalar_evolution_1
>          ../../gcc/tree-scalar-evolution.c:1892
> 0xb707b2 analyze_scalar_evolution(loop*, tree_node*)
>          ../../gcc/tree-scalar-evolution.c:1947
> 0xb73667 analyze_scalar_evolution_in_loop
>          ../../gcc/tree-scalar-evolution.c:2043
> 0xb73eaf simple_iv(loop*, loop*, tree_node*, affine_iv*, bool)
>          ../../gcc/tree-scalar-evolution.c:3167
> 0x9817c6 estimate_function_body_sizes
>          ../../gcc/ipa-inline-analysis.c:2563
> 0x9822e0 compute_inline_parameters(cgraph_node*, bool)
>          ../../gcc/ipa-inline-analysis.c:2696
> 0x982630 inline_analyze_function
>          ../../gcc/ipa-inline-analysis.c:3684
> 0x9827c7 inline_generate_summary()
>          ../../gcc/ipa-inline-analysis.c:3735
> 0xa30df6 execute_ipa_summary_passes(ipa_opt_pass_d*)
>          ../../gcc/passes.c:2000
> 0x7e8844 ipa_passes
>          ../../gcc/cgraphunit.c:2008
> 0x7e8844 compile()
>          ../../gcc/cgraphunit.c:2115
> 0x7e8a89 finalize_compilation_unit()
>          ../../gcc/cgraphunit.c:2269
> 0x5fcc20 cp_write_global_declarations()
>          ../../gcc/cp/decl2.c:4360
> Please submit a full bug report,
> with preprocessed source if appropriate.
> Please include the complete backtrace with any bug report.
> See <http://gcc.gnu.org/bugs.html> for instructions.
> compiler exited with status 1
>
>
> Perhaps they are related to your commit:
>
>
> r202700 | rguenth | 2013-09-18 05:31:45 -0700 (Wed, 18 Sep 2013) | 25 lines
>
> 2013-09-18  Richard Biener  <rguenther@suse.de>
>
>          PR tree-optimization/58417
>          * tree-chrec.c (chrec_fold_plus_1): Assert that we do not
>          have chrecs with symbols defined in the loop as operands.
>          (chrec_fold_multiply): Likewise.
>          * tree-scalar-evolution.c (interpret_rhs_expr): Instantiate
>          parameters before folding binary operations.
>          (struct instantiate_cache_entry_hasher): Remove.
>          (struct instantiate_cache_type): Use a pointer-map.
>          (instantiate_cache_type::instantiate_cache_type): New function.
>          (instantiate_cache_type::get): Likewise.
>          (instantiate_cache_type::set): Likewise.
>          (instantiate_cache_type::~instantiate_cache_type): Adjust.
>          (get_instantiated_value_entry): Likewise.
>          (global_cache): New global.
>          (instantiate_scev_r, instantiate_scev_poly, instantiate_scev_binary,
>          instantiate_array_ref, instantiate_scev_convert, instantiate_scev_3,
>          instantiate_scev_2, instantiate_scev_1): Do not pass along cache.
>          (instantiate_scev_name): Adjust.
>          (instantiate_scev): Construct global instead of local cache.
>          (resolve_mixers): Likewise.
>
>          * gcc.dg/torture/pr58417.c: New testcase.
>
>
> Thanks,




More information about the Gcc-patches mailing list