On Thu, 2013-11-21 at 18:03 -0500, Andrew MacLeod wrote: > On 11/21/2013 05:42 PM, Jakub Jelinek wrote: > > On Thu, Nov 21, 2013 at 03:24:55PM -0700, Jeff Law wrote: > >> On 11/21/13 15:19, Jakub Jelinek wrote: > >>> On Mon, Nov 18, 2013 at 03:25:52PM -0500, David Malcolm wrote: > >>>>> So is there some reason the GIMPLE_CHECK was left in here rather than > >>>>> doing the downcasting? This happens in other places. > >>> Note that the changes removed tons of checks that IMHO were desirable. > >>> The as_a that replaced those checks e.g. allows 3 different gimple codes, > >>> while previously only one was allowed, this is both more expensive for > >>> --enable-checking=yes, and allows one to use inline wrappers e.g. > >>> gimple_omp_parallel_something on GIMPLE_OMP_TASK etc. > >> Can you give a couple examples, please? > > I mean e.g. > > gimple_omp_parallel_{,set_}{clauses,child_fn,data_arg}{,_ptr} > > gimple_omp_taskreg_{,set_}{clauses,child_fn,data_arg}{,_ptr} > > gimple_omp_target_{,set_}{clauses,child_fn,data_arg}{,_ptr} > > gimple_omp_teams_{,set_}clauses{,_ptr} > > gimple_omp_return_{,set_}lhs{,_ptr} > > gimple_omp_atomic_store_{,set_}val{,_ptr} > > gimple_resx_{,set_}region > > gimple_eh_dispatch_{,set_}region > > > > Jakub > Why does is_a_helper <gimple_statement_omp_parallel>::test allow > anything other than a GIMPLE_OMP_PARALLEL..? That seems wrong to me. > should just be the one check. > > gimple_omp_taskreg and other routines "sharing" that helper should have > their own helper and only check the one code.. thats is whole point to > remain at least codegen neutral in these cases and provide correct > checking. The fact that they may happen to share the same underlying > structure is irrelevant. > > I also think this is wrong.
This was a bug in my script. Sorry. Working on a fix.