[Bug middle-end/69838] [4.9/5/6 Regression] Lra deletes EH_REGION

2016-02-19 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69838

--- Comment #13 from Jakub Jelinek  ---
Author: jakub
Date: Fri Feb 19 16:25:58 2016
New Revision: 233562

URL: https://gcc.gnu.org/viewcvs?rev=233562=gcc=rev
Log:
PR middle-end/69838
* lra.c (lra_process_new_insns): If non-call exceptions are enabled,
call copy_reg_eh_region_note_forward on before and/or after sequences
and remove note from insn if it no longer can throw.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/lra.c

[Bug middle-end/69838] [4.9/5/6 Regression] Lra deletes EH_REGION

2016-02-19 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69838

--- Comment #12 from Dominik Vogt  ---
(The test just finished; the Ice is present without the patch too.)

[Bug middle-end/69838] [4.9/5/6 Regression] Lra deletes EH_REGION

2016-02-19 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69838

--- Comment #11 from Dominik Vogt  ---
If that is unrelated, the patch does not cause any regressions on a biarch
build.  Sould I also test it in a 31-bit changeroot?

[Bug middle-end/69838] [4.9/5/6 Regression] Lra deletes EH_REGION

2016-02-19 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69838

--- Comment #10 from Uroš Bizjak  ---
(In reply to Dominik Vogt from comment #7)
> With the patch I get an Ice with -m31:
> 
> spawn -ignore SIGHUP .../build/gcc/xgcc -B.../build/gcc/
> .../gcc/testsuite/gcc.dg/graphite/id-pr45230-1.c -fno-diagnostics-show-caret
> -fdiagnostics-color=never -O2 -fgraphite-identity -ffast-math -S -m31 -o
> id-pr45230-1.s^M 
> .../gcc/testsuite/gcc.dg/graphite/id-pr45230-1.c: In function 'main':^M 
> /home/vogt/src/git/gcc/gcc/testsuite/gcc.dg/graphite/id-pr45230-1.c:45:1:
> internal compiler error: Segmentation fault^M 
> 0x806199b9 crash_signal^M 
> ../../gcc/toplev.c:335^M 

This is known issue, PR 68659. Also fails on i686 [1].

[1] https://gcc.gnu.org/ml/gcc-testresults/2016-02/msg02008.html

[Bug middle-end/69838] [4.9/5/6 Regression] Lra deletes EH_REGION

2016-02-19 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69838

--- Comment #9 from Dominik Vogt  ---
I think I've already tested this commit without the patch and did not get that
Ice, but maybe my memory fails me.  I'm just running the test suite again with
the commit reverted to make sure ...

[Bug middle-end/69838] [4.9/5/6 Regression] Lra deletes EH_REGION

2016-02-19 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69838

--- Comment #8 from Jakub Jelinek  ---
(In reply to Dominik Vogt from comment #7)
> With the patch I get an Ice with -m31:
> 
> spawn -ignore SIGHUP .../build/gcc/xgcc -B.../build/gcc/
> .../gcc/testsuite/gcc.dg/graphite/id-pr45230-1.c -fno-diagnostics-show-caret
> -fdiagnostics-color=never -O2 -fgraphite-identity -ffast-math -S -m31 -o
> id-pr45230-1.s^M 
> .../gcc/testsuite/gcc.dg/graphite/id-pr45230-1.c: In function 'main':^M 
> /home/vogt/src/git/gcc/gcc/testsuite/gcc.dg/graphite/id-pr45230-1.c:45:1:
> internal compiler error: Segmentation fault^M 
> 0x806199b9 crash_signal^M 
> ../../gcc/toplev.c:335^M 
> 0x80a55d06 translate_isl_ast_to_gimple::collect_all_ssa_names(tree_node*,
> vec

[Bug middle-end/69838] [4.9/5/6 Regression] Lra deletes EH_REGION

2016-02-19 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69838

--- Comment #7 from Dominik Vogt  ---
With the patch I get an Ice with -m31:

spawn -ignore SIGHUP .../build/gcc/xgcc -B.../build/gcc/
.../gcc/testsuite/gcc.dg/graphite/id-pr45230-1.c -fno-diagnostics-show-caret
-fdiagnostics-color=never -O2 -fgraphite-identity -ffast-math -S -m31 -o
id-pr45230-1.s^M 
.../gcc/testsuite/gcc.dg/graphite/id-pr45230-1.c: In function 'main':^M 
/home/vogt/src/git/gcc/gcc/testsuite/gcc.dg/graphite/id-pr45230-1.c:45:1:
internal compiler error: Segmentation fault^M 
0x806199b9 crash_signal^M 
../../gcc/toplev.c:335^M 
0x80a55d06 translate_isl_ast_to_gimple::collect_all_ssa_names(tree_node*,
vec*)^M 
../../gcc/graphite-isl-ast-to-gimple.c:1408^M 
0x80a55d51 translate_isl_ast_to_gimple::collect_all_ssa_names(tree_node*,
vec*)^M 
../../gcc/graphite-isl-ast-to-gimple.c:1418^M 
0x80a55d51 translate_isl_ast_to_gimple::collect_all_ssa_names(tree_node*,
vec*)^M 
../../gcc/graphite-isl-ast-to-gimple.c:1418^M 
0x80a55d51 translate_isl_ast_to_gimple::collect_all_ssa_names(tree_node*,
vec*)^M 
../../gcc/graphite-isl-ast-to-gimple.c:1418^M 
0x80a5748b translate_isl_ast_to_gimple::rename_all_uses(tree_node*,
basic_block\
_def*, basic_block_def*)^M 
../../gcc/graphite-isl-ast-to-gimple.c:1569^M 
0x80a57631 translate_isl_ast_to_gimple::get_rename_from_scev(tree_node*,
gimple\
**, loop*, basic_block_def*, basic_block_def*, vec\
)^M 
../../gcc/graphite-isl-ast-to-gimple.c:1623^M 
0x80a597a1 translate_isl_ast_to_gimple::rename_uses(gimple*,
gimple_stmt_iterat\
or*, basic_block_def*, loop*, vec)^M 
../../gcc/graphite-isl-ast-to-gimple.c:1730^M
0x80a5b06d translate_isl_ast_to_gimple::graphite_copy_stmts_from_block(basic_b\
lock_def*, basic_block_def*, vec)^M 
../../gcc/graphite-isl-ast-to-gimple.c:2596^M 
0x80a5b5eb
translate_isl_ast_to_gimple::copy_bb_and_scalar_dependences(basic_bl\
ock_def*, edge_def*, vec)^M 
../../gcc/graphite-isl-ast-to-gimple.c:2809^M 
0x80a5bbf5
translate_isl_ast_to_gimple::translate_isl_ast_node_user(isl_ast_nod\
e*, edge_def*, std::map,
std::allocator\
 > >&)^M 
../../gcc/graphite-isl-ast-to-gimple.c:935^M 
0x80a5bf95 translate_isl_ast_to_gimple::translate_isl_ast_for_loop(loop*,
isl_a\
st_node*, edge_def*, tree_node*, tree_node*, tree_node*, std::map, std::allocator\
 > >&)^M 
../../gcc/graphite-isl-ast-to-gimple.c:685^M 
0x80a5c217 translate_isl_ast_to_gimple::translate_isl_ast_node_for(loop*,
isl_a\
st_node*, edge_def*, std::map,
std::all\
ocator > >&)^M 
../../gcc/graphite-isl-ast-to-gimple.c:854^M 
0x80a5beb1 translate_isl_ast_to_gimple::translate_isl_ast(loop*,
isl_ast_node*,\
 edge_def*, std::map,
std::allocator > >&)^M 
../../gcc/graphite-isl-ast-to-gimple.c:1032^M 
0x80a5c359 translate_isl_ast_to_gimple::translate_isl_ast_node_block(loop*,
isl\
_ast_node*, edge_def*, std::map,
std::a\
llocator > >&)^M 
../../gcc/graphite-isl-ast-to-gimple.c:964^M 
0x80a5be69 translate_isl_ast_to_gimple::translate_isl_ast(loop*,
isl_ast_node*,\
 edge_def*, std::map,
std::allocator > >&)^M 
../../gcc/graphite-isl-ast-to-gimple.c:1043^M 
0x80a5c359 translate_isl_ast_to_gimple::translate_isl_ast_node_block(loop*,
isl\
_ast_node*, edge_def*, std::map,
std::a\
llocator > >&)^M 
../../gcc/graphite-isl-ast-to-gimple.c:964^M 
0x80a5be69 translate_isl_ast_to_gimple::translate_isl_ast(loop*,
isl_ast_node*,\
 edge_def*, std::map,
std::allocator > >&)^M 
../../gcc/graphite-isl-ast-to-gimple.c:1043^M 
0x80a5c359 translate_isl_ast_to_gimple::translate_isl_ast_node_block(loop*,
isl\
_ast_node*, edge_def*, std::map,
std::a\
llocator > >&)^M 
../../gcc/graphite-isl-ast-to-gimple.c:964^M 
0x80a5be69 translate_isl_ast_to_gimple::translate_isl_ast(loop*,
isl_ast_node*,\
 edge_def*, std::map,
std::allocator > >&)^M 
../../gcc/graphite-isl-ast-to-gimple.c:1043^M

[Bug middle-end/69838] [4.9/5/6 Regression] Lra deletes EH_REGION

2016-02-19 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69838

--- Comment #6 from Jakub Jelinek  ---
Created attachment 37739
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37739=edit
gcc6-pr69838.patch

Untested fix.  Don't have ada set up on s390{,x}, so can just test this on
x86_64.

[Bug middle-end/69838] [4.9/5/6 Regression] Lra deletes EH_REGION

2016-02-19 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69838

Jakub Jelinek  changed:

   What|Removed |Added

  Component|regression  |middle-end

--- Comment #5 from Jakub Jelinek  ---
Seems except.c has already
copy_reg_eh_region_note_forward
and
copy_reg_eh_region_note_backward
functions for this purpose and reload1.c uses them.