https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104198

--- Comment #11 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot 
Uni-Bielefeld.DE> ---
> --- Comment #10 from rdapp at linux dot ibm.com ---
> Created attachment 52297
>   --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52297&action=edit
> Tentative patch
[...]
> A full testsuite run on gcc202 just finished, 83 FAILs, but I haven't yet done
> a comparison run from before the ifcvt changes.

I've now successfully completed a sparcv9-sun-solaris2.11 bootstrap
(sparc-sun-solaris2.11 for comparison with last night's bootstrap of an
unpatched tree still running), so we're mostly good again.  Thanks.

However, I see a couple of regressions compared to the last successful
bootstrap:

+FAIL: gfortran.dg/maxloc_2.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  (internal compiler error:
Segmentation Fault)
+FAIL: gfortran.dg/maxloc_2.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  (test for excess errors)
+UNRESOLVED: gfortran.dg/maxloc_2.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  compilation failed to produce
executable
+FAIL: gfortran.dg/minloc_1.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  (internal compiler error:
Segmentation Fault)
+FAIL: gfortran.dg/minloc_1.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  (test for excess errors)
+UNRESOLVED: gfortran.dg/minloc_1.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  compilation failed to produce
executable
+FAIL: gfortran.dg/minlocval_3.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  (internal compiler error:
Segmentation Fault)
+FAIL: gfortran.dg/minlocval_3.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  (test for excess errors)
+UNRESOLVED: gfortran.dg/minlocval_3.f90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  compilation failed to
produce executable
+FAIL: gfortran.dg/minlocval_3.f90   -O3 -g  (internal compiler error:
Segmentation Fault)
+FAIL: gfortran.dg/minlocval_3.f90   -O3 -g  (test for excess errors)
+UNRESOLVED: gfortran.dg/minlocval_3.f90   -O3 -g  compilation failed to
produce executable

+FAIL: gfortran.dg/g77/19990826-3.f   -O  (internal compiler error:
Segmentation Fault)
+FAIL: gfortran.dg/g77/19990826-3.f   -O  (test for excess errors)

+FAIL: ext/special_functions/hyperg/check_nan.cc (test for excess errors)
+UNRESOLVED: ext/special_functions/hyperg/check_nan.cc compilation failed to
produce executable
+FAIL: ext/special_functions/hyperg/check_value.cc (test for excess errors)
+UNRESOLVED: ext/special_functions/hyperg/check_value.cc compilation failed to
produce executable
+FAIL: ext/special_functions/hyperg/compile.cc (test for excess errors)
+FAIL: tr1/5_numerical_facilities/special_functions/17_hyperg/check_nan.cc
(test for excess errors)
+UNRESOLVED:
tr1/5_numerical_facilities/special_functions/17_hyperg/check_nan.cc compilation
failed to produce executable
+FAIL: tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc
(test for excess errors)
+UNRESOLVED:
tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc
compilation failed to produce executable
+FAIL: tr1/5_numerical_facilities/special_functions/17_hyperg/compile.cc (test
for excess errors)
+FAIL: tr1/5_numerical_facilities/special_functions/17_hyperg/compile_2.cc
(test for excess errors)

for both 32 and 64-bit multilibs.

All of them are the same, it seems:

FAIL: gfortran.dg/maxloc_2.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  (test for excess errors)
Excess errors:
during RTL pass: ce1
/vol/gcc/src/hg/master/local/gcc/testsuite/gfortran.dg/maxloc_2.f90:155:3:
internal compiler error: Segmentation Fault
0x100fed85b crash_signal
        /vol/gcc/src/hg/master/local/gcc/toplev.cc:322
0x100f5de28 copy_rtx(rtx_def*)
        /vol/gcc/src/hg/master/local/gcc/rtl.cc:290
0x101b0905b noce_convert_multiple_sets_1
        /vol/gcc/src/hg/master/local/gcc/ifcvt.cc:3394
0x101b1027f noce_convert_multiple_sets
        /vol/gcc/src/hg/master/local/gcc/ifcvt.cc:3281
0x101b12a9f noce_process_if_block
        /vol/gcc/src/hg/master/local/gcc/ifcvt.cc:3731
0x101b12a9f noce_find_if_block
        /vol/gcc/src/hg/master/local/gcc/ifcvt.cc:4485
0x101b12a9f find_if_header
        /vol/gcc/src/hg/master/local/gcc/ifcvt.cc:4690
0x101b12a9f if_convert
        /vol/gcc/src/hg/master/local/gcc/ifcvt.cc:5831
0x101b13ca7 rest_of_handle_if_conversion
        /vol/gcc/src/hg/master/local/gcc/ifcvt.cc:5896
0x101b13ca7 execute
        /vol/gcc/src/hg/master/local/gcc/ifcvt.cc:5936

gdb shows

gdb) run /vol/gcc/src/hg/master/local/gcc/testsuite/gfortran.dg/maxloc_2.f90
-quiet -mcpu=v9 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
-o maxloc_2.s
Starting program:
/var/gcc/regression/master/11.4-gcc-64/build/gcc/testsuite/gfortran/f951
/vol/gcc/src/hg/master/local/gcc/testsuite/gfortran.dg/maxloc_2.f90 -quiet
-mcpu=v9 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -o
maxloc_2.s
[Thread debugging using libthread_db enabled]
[New Thread 1 (LWP 1)]

Thread 2 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
copy_rtx (orig=0x0) at /vol/gcc/src/hg/master/local/gcc/rtl.cc:290
290       code = GET_CODE (orig);
(gdb) bt
#0  copy_rtx (orig=0x0) at /vol/gcc/src/hg/master/local/gcc/rtl.cc:290
#1  0x0000000101b0905c in noce_convert_multiple_sets_1
(if_info=0xffffffff7fffdbc8, need_no_cmov=0xffffffff7fffdbe0,
rewired_src=0xffffffff7fffdc10, targets=0xffffffff7fffdbc0,
temporaries=0xffffffff7fffdbc8, unmodified_insns=0xffffffff7fffdbd0,
last_needs_comparison=0xffffffff7fffdbb4) at
/vol/gcc/src/hg/master/local/gcc/ifcvt.cc:3394
#2  0x0000000101b10280 in noce_convert_multiple_sets (if_info=<optimized out>)
at /vol/gcc/src/hg/master/local/gcc/ifcvt.cc:3280
#3  0x0000000101b12aa0 in noce_process_if_block (if_info=0xffffffff7fffde08) at
/vol/gcc/src/hg/master/local/gcc/ifcvt.cc:3731
#4  noce_find_if_block (pass=2, else_edge=<edge 0xffffffff7ae77a70 (198 ->
202)>, then_edge=<edge 0xffffffff7ae77b60 (198 -> 201)>, test_bb=<basic_block
0xffffffff7af92e38 (198)>) at /vol/gcc/src/hg/master/local/gcc/ifcvt.cc:4485
#5  find_if_header (pass=2, test_bb=<basic_block 0xffffffff7af92e38 (198)>) at
/vol/gcc/src/hg/master/local/gcc/ifcvt.cc:4690
#6  if_convert (after_combine=<optimized out>) at
/vol/gcc/src/hg/master/local/gcc/ifcvt.cc:5831
#7  0x0000000101b13ca8 in rest_of_handle_if_conversion () at
/vol/gcc/src/hg/master/local/gcc/ifcvt.cc:5896
#8  (anonymous namespace)::pass_rtl_ifcvt::execute (this=0x0) at
/vol/gcc/src/hg/master/local/gcc/ifcvt.cc:5936
#9  0x0000000100ebb0c4 in execute_one_pass (pass=<opt_pass* 0x1023bd000
"ce1"(271)>) at /vol/gcc/src/hg/master/local/gcc/passes.cc:2637
#10 0x0000000100ebbd38 in execute_pass_list_1 (pass=<opt_pass* 0x1023bd000
"ce1"(271)>) at /vol/gcc/src/hg/master/local/gcc/passes.cc:2737
#11 0x0000000100ebbd58 in execute_pass_list_1 (pass=<opt_pass* 0x1023bc9e0
"*rest_of_compilation"(-1)>) at /vol/gcc/src/hg/master/local/gcc/passes.cc:2738
#12 0x0000000100ebbdc0 in execute_pass_list (fn=0xffffffff7acac0b8,
pass=<opt_pass* 0x1023b7c00 "fixup_cfg"(98)>) at
/vol/gcc/src/hg/master/local/gcc/passes.cc:2748
#13 0x00000001009ad934 in cgraph_node::expand (this=<cgraph_node * const
0xffffffff7ad76110 "main"/1>) at /vol/gcc/src/hg/master/local/gcc/context.h:48
#14 cgraph_node::expand (this=<cgraph_node * const 0xffffffff7ad76110
"main"/1>) at /vol/gcc/src/hg/master/local/gcc/cgraphunit.cc:1787
#15 0x00000001009afb78 in expand_all_functions () at
/vol/gcc/src/hg/master/local/gcc/cgraphunit.cc:1998
#16 symbol_table::compile (this=0xffffffff7ac10000) at
/vol/gcc/src/hg/master/local/gcc/cgraphunit.cc:2348
#17 0x00000001009b42c0 in symbol_table::compile (this=0xffffffff7ac10000) at
/vol/gcc/src/hg/master/local/gcc/cgraphunit.cc:2261
#18 symbol_table::finalize_compilation_unit (this=0xffffffff7ac10000) at
/vol/gcc/src/hg/master/local/gcc/cgraphunit.cc:2529
#19 0x0000000100fedbf0 in compile_file () at
/vol/gcc/src/hg/master/local/gcc/toplev.cc:479
#20 0x0000000100ff2200 in do_compile (no_backend=false) at
/vol/gcc/src/hg/master/local/gcc/toplev.cc:2158
#21 toplev::main (this=<optimized out>, argc=<optimized out>, argv=<optimized
out>) at /vol/gcc/src/hg/master/local/gcc/toplev.cc:2310
#22 0x0000000101cf90a8 in main (argc=<optimized out>, argv=0xffffffff7fffe7d8)
at /vol/gcc/src/hg/master/local/gcc/main.cc:39

Reply via email to