On October 3, 2017 11:48:35 AM GMT+02:00, Rainer Orth 
<r...@cebitec.uni-bielefeld.de> wrote:
>Hi Richard,
>
>> The following patch adjust GRAPHITE testing to check that existing
>> code generation issues occur and makes code generation ICE with
>> -fchecking --param graphite-allow-codegen-errors=0.  The param
>> is really a testsuite artifact so we can have testcases with
>> issues where we have papered over GRAPHITE issues with aborting
>> code generation.
>>
>> This avoids regressing testcases that do not show code generation
>> issues and it allows detecting testcases that no longer show
>> code generation issues (so we can avoid regressing that feat later).
>>
>> I'm now working on code-generation issues so that's an important
>> feature for me.
>>
>> Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to
>trunk.
>>
>> Richard.
>>
>> 2017-10-02  Richard Biener  <rguent...@suse.de>
>>
>>      * graphite-isl-ast-to-gimple.c (set_codegen_error): With
>>      -fchecking and --param graphite-allow-codegen-errors=0 ICE.
>>      * params.def (PARAM_GRAPHITE_ALLOW_CODEGEN_ERRORS): New param.
>>
>>      * gcc.dg/graphite/graphite.exp: Add -fdump-tree-graphite-details.
>>      * gcc.dg/graphite/id-16.c: Adjust for existing codegen errors.
>>      * gcc.dg/graphite/pr46168.c: Likewise.
>>      * gcc.dg/graphite/pr68756.c: Likewise.
>>      * gcc.dg/graphite/pr69728.c: Likewise.
>>      * gcc.dg/graphite/pr71575-2.c: Likewise.
>>      * gcc.dg/graphite/pr77362.c: Likewise.
>>      * gcc.dg/graphite/pr81373.c: Likewise.
>>      * gcc.dg/graphite/run-id-pr67700-1.c: Likewise.
>>      * gfortran.dg/graphite/interchange-1.f: Likewise.
>>      * gfortran.dg/graphite/pr29581.f90: Likewise.
>>      * gfortran.dg/graphite/pr42334-1.f: Likewise.
>>      * gfortran.dg/graphite/pr42393-1.f90: Likewise.
>>      * gfortran.dg/graphite/pr42393.f90: Likewise.
>>      * gfortran.dg/graphite/pr47019.f: Likewise.
>
>the patch caused a couple of regressions, unfortunately.  E.g.
>
>+FAIL: gfortran.dg/graphite/id-17.f   -O  (internal compiler error)
>+FAIL: gfortran.dg/graphite/id-17.f   -O  (test for excess errors)
>
>Excess errors:
>during GIMPLE pass: graphite
>/vol/gcc/src/hg/trunk/local/gcc/testsuite/gfortran.dg/graphite/id-17.f:1:0:
>internal compiler error: in set_codegen_error, at
>graphite-isl-ast-to-gimple.c:248
>0x10d5ebb translate_isl_ast_to_gimple::set_codegen_error()
>       /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:247
>0x10d0023 translate_isl_ast_to_gimple::set_codegen_error()
>       /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:247
>0x10d0023 translate_isl_ast_to_gimple::get_rename_from_scev(tree_node*,
>gimple**, loop*, basic_block_def*, basic_block_def*, vec<tree_node*,
>va_heap, vl_ptr>)
>      /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:1510
>0x10d2963 translate_isl_ast_to_gimple::rename_uses(gimple*,
>gimple_stmt_iterator*, basic_block_def*, loop*, vec<tree_node*,
>va_heap, vl_ptr>)
>      /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:1644
>0x10d4217
>translate_isl_ast_to_gimple::graphite_copy_stmts_from_block(basic_block_def*,
>basic_block_def*, vec<tree_node*, va_heap, vl_ptr>)
>      /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:2516
>0x10d4653
>translate_isl_ast_to_gimple::copy_bb_and_scalar_dependences(basic_block_def*,
>edge_def*, vec<tree_node*, va_heap, vl_ptr>)
>      /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:2717
>0x10d4ecb
>translate_isl_ast_to_gimple::translate_isl_ast_node_user(isl_ast_node*,
>edge_def*, std::map<isl_id*, tree_node*, std::less<isl_id*>,
>std::allocator<std::pair<isl_id* const, tree_node*> > >&)
>       /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:835
>0x10d5147
>translate_isl_ast_to_gimple::translate_isl_ast_for_loop(loop*,
>isl_ast_node*, edge_def*, tree_node*, tree_node*, tree_node*,
>std::map<isl_id*, tree_node*, std::less<isl_id*>,
>std::allocator<std::pair<isl_id* const, tree_node*> > >&)
>       /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:649
>0x10d53ab
>translate_isl_ast_to_gimple::translate_isl_ast_node_for(loop*,
>isl_ast_node*, edge_def*, std::map<isl_id*, tree_node*,
>std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*>
>> >&)
>       /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:752
>0x10d5477
>translate_isl_ast_to_gimple::translate_isl_ast_node_block(loop*,
>isl_ast_node*, edge_def*, std::map<isl_id*, tree_node*,
>std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*>
>> >&)
>       /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:864
>0x10d5147
>translate_isl_ast_to_gimple::translate_isl_ast_for_loop(loop*,
>isl_ast_node*, edge_def*, tree_node*, tree_node*, tree_node*,
>std::map<isl_id*, tree_node*, std::less<isl_id*>,
>std::allocator<std::pair<isl_id* const, tree_node*> > >&)
>       /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:649
>0x10d53ab
>translate_isl_ast_to_gimple::translate_isl_ast_node_for(loop*,
>isl_ast_node*, edge_def*, std::map<isl_id*, tree_node*,
>std::less<isl_id*>, std::allocator<std::pair<isl_id* const, tree_node*>
>> >&)
>       /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:752
>0x10d59cf graphite_regenerate_ast_isl(scop*)
>      /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:2954
>0x10cbb23 graphite_transform_loops()
>        /vol/gcc/src/hg/trunk/local/gcc/graphite.c:442
>0x10ccbe7 graphite_transforms
>        /vol/gcc/src/hg/trunk/local/gcc/graphite.c:486
>0x10ccbe7 execute
>        /vol/gcc/src/hg/trunk/local/gcc/graphite.c:563
>
>and several more.  I'm seeing this on 32-bit Solaris/SPARC,
>Solaris/x86,
>and Linux/x86_64.

What ISL Versions are affected? 

>Besides, there's
>
>+UNRESOLVED: gfortran.dg/graphite/pr42393-1.f90   -O  
>scan-tree-dump-times graphite "code generation error" 1
>
>for both 32 and 64-bit.  The log indicates
>
>gfortran.dg/graphite/pr42393-1.f90   -O  : dump file does not exist
>
>and indeed the test lacks -fdump-tree-graphite-details contrary to
>ChangeLog.

Oops, I must have missed that one. Will fix tomorrow. 

Richard. 

>       Rainer

Reply via email to