[Bug middle-end/81052] ICE in verify_dominators, at dominance.c:1184
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Aug 2 08:53:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81052
--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
Created attachment 41888
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41888&action=edit
Reduced test-case
Adding reduced test-case (it's hard to reduce more). There's ompexp dump:
bool satyr::dc(auto:1, bl, bl, cz) [with cz =
satyr::execute_with_cancel(satyr::n_array_expression<da, satyr::dg, Evaluator,
auto:4>) [with long unsigned int da = 2; Evaluator =
satyr::n_array_evaluator<double, 2>; auto:4 = ce]::<lambda()>; auto:1 =
satyr::n_array_expression<2, satyr::dg, satyr::n_array_evaluator<double, 2>,
ce>] (struct n_array_expression D.3331, bl dd, bl de, struct __lambda1 D.3334)
{
bl i;
long int de.1;
long int dd.0;
bl i;
bool D.3383;
<bb 2> [0.00%] [count: INV]:
dd.0 = dd;
de.1 = de;
i = dd.0;
i = dd.0;
goto <bb 9>; [INV] [count: INV]
<bb 3> [0.00%] [count: INV]:
D.3383 = 0;
goto <bb 8>; [INV] [count: INV]
<bb 9> [0.00%] [count: INV]:
if (i < de.1)
goto <bb 3>; [87.50%] [count: INV]
else
goto <bb 4>; [12.50%] [count: INV]
<bb 4> [0.00%] [count: INV]:
if (i == de.1)
goto <bb 5>; [INV] [count: INV]
else
goto <bb 6>; [INV] [count: INV]
<bb 5> [0.00%] [count: INV]:
i = i;
<bb 6> [0.00%] [count: INV]:
<bb 7> [0.00%] [count: INV]:
D.3383 = 1;
<bb 8> [0.00%] [count: INV]:
<L2>:
return D.3383;
}
g++ pr81052.cpp -std=c++1z -fopenmp-simd -fconcepts -fdump-tree-ompexp
pr81052.cpp: In function ‘bool satyr::dc(auto:1, bl, bl, cz) [with cz =
satyr::execute_with_cancel(satyr::n_array_expression<da, satyr::dg, Evaluator,
auto:4>) [with long unsigned int da = 2; Evaluator =
satyr::n_array_evaluator<double, 2>; auto:4 = ce]::<lambda()>; auto:1 =
satyr::n_array_expression<2, satyr::dg, satyr::n_array_evaluator<double, 2>,
ce>]’:
pr81052.cpp:78:30: error: dominator of 8 should be 9, not 2
template < db< 1 > cz > bool dc(bi, bl dd, bl de, cz) {
^~
during GIMPLE pass: ompexp
dump file: pr81052.cpp.012t.ompexp
pr81052.cpp:78:30: internal compiler error: in verify_dominators, at
dominance.c:1184
0x9c7378 verify_dominators(cdi_direction)
../../gcc/dominance.c:1184
0xdee449 checking_verify_dominators
../../gcc/dominance.h:76
0xdee449 cleanup_tree_cfg_noloop
../../gcc/tree-cfgcleanup.c:781
0xdee449 cleanup_tree_cfg()
../../gcc/tree-cfgcleanup.c:899
0xc75c7c execute_expand_omp
../../gcc/omp-expand.c:8134
More information about the Gcc-bugs
mailing list