Capital Remove The second line should be just tab indented, not tab + 2 spaces, and finished with dot. gomp_parallel rather than gomp-parallel.
Sorry about the formatting issues, I didn't notice them.
The GIMPLE_OMP_TASK case went under my radar, since I was primarily focused on gomp_parallel statements. I'll try these changes and retest.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).
Best regards, Josef Melcr Dne 24. 10. 24 v 18:49 Jakub Jelinek napsal(a):
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 ifCapital Removestatement checking for gomp-parallel statementsThe 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
smime.p7s
Description: Elektronicky podpis S/MIME