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