------- Comment #9 from jakub at gcc dot gnu dot org 2008-01-09 15:05 ------- I've tried to change expand_omp_for_{generic,static_nochunk,static_chunk} to grok the possibly split edges if profile_arc_flag, but it pretty quickly gets horribly ugly. Several edges are removed, split or tweaked by this expander and if in each case of the 4 problematic critical edges we need to check if profiler split that edge or not and deal with it, the code wouldn't be maintainable. Can you expand on what kind of issues would occur by not instrumenting them? That means just the counters will be 0, as nothing will ever increase them, right? At least the BRANCH_EDGE of OMP_CONTINUE ending bb will often form a cycle (whenever the body of the loop contains just single basic block), so treating them as EDGE_ABNORMAL would just mean adding all those fake edges etc.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34610