On Thu, Oct 24, 2024 at 04:37:24PM +0200, Josef Melcr wrote:
> This patch removes a dead if statement checking for gomp-parallel gimple
> statements. This if is in the execute method of build_cgraph_edges pass,
> which is executed right after the omp_expand pass, which removes these
> gimple statements and replaces them with simple gcalls, making this if
> practically dead. 
> 
> Some TSan tests are failing with this patch, but I don't think this
> change is likely to cause these failures. Additionally, the failures are
> not consistent across runs, making me think these failures are a
> bug in TSan itself. All other tests are ok. Tested on x86_64-pc-linux-gnu. 
> 
> OK for master ?
> 
> gcc/ChangeLog:
> 
>       * cgraphbuild.cc (pass_build_cgraph_edges::execute): remove if

Capital Remove

>         statement checking for gomp-parallel statements

The second line should be just tab indented, not tab + 2 spaces, and
finished with dot.  gomp_parallel rather than gomp-parallel.

> --- a/gcc/cgraphbuild.cc
> +++ b/gcc/cgraphbuild.cc
> @@ -340,12 +340,6 @@ pass_build_cgraph_edges::execute (function *fun)
>                                           bb->count);
>           }
>         node->record_stmt_references (stmt);
> -       if (gomp_parallel *omp_par_stmt = dyn_cast <gomp_parallel *> (stmt))
> -         {
> -           tree fn = gimple_omp_parallel_child_fn (omp_par_stmt);
> -           node->create_reference (cgraph_node::get_create (fn),
> -                                   IPA_REF_ADDR, stmt);
> -         }
>         if (gimple_code (stmt) == GIMPLE_OMP_TASK)
>           {
>             tree fn = gimple_omp_task_child_fn (stmt);

The if (gimple_code (stmt) == GIMPLE_OMP_TASK) case should go as well.
Wonder if gcc_checking_assert (!is_gimple_omp (stmt)); wouldn't be useful
as replacement at least for some time to verify it isn't needed (but if it
would be needed, we miss various other GIMPLE_OMP_* statements).

        Jakub

Reply via email to