Jan Hubicka <hubi...@ucw.cz> writes: >> > That is why I checked for loc != UNKNOWN_LOCATION. I did not expect >> > UNKNOWN_LOCATION to have discriminators. What they are good for? >> >> I have no idea, this was simply a defensive review where it's no >> longer obvious that inlined_function_outer_scope_p would still work >> in all cases. > > Understood. I am not too familiar with discriminator implementation, > but it seems that afdo is actually quite useful testsuite for profile > info, so I suppose I will learn. > > Before inline stacks were applied correctly, it was kind of useless to > debug other issues. Now the profiles seems much more sane at least when > inlining at instrumentation time matches inlining at profile use time. > > What seems to be common now is profile breakage around loops that has > been fully unrolled or vectorized which is bit undderstandbale thought I > wonder if we can improve here. I think we can fix problem where profile > of loop header stmts is partly or fully lost (which seems to be main > issue now that prevents loop optimization since then loop headers looks > cold). I suppose this can be fixed by making sure the debug statement > is duplicated into the loop variants.
There's Alex's series as well waiting on review which fixes profile information with early-exit (PR117790): https://inbox.sourceware.org/gcc-patches/adctfxjzqewre...@arm.com/ sam