> On 15 Nov 2025, at 8:44 am, Kugan Vivekanandarajah <[email protected]> > wrote: > > External email: Use caution opening links or attachments > > >> On 15 Nov 2025, at 8:36 am, Kugan Vivekanandarajah <[email protected]> >> wrote: >> >> External email: Use caution opening links or attachments >> >> >> Hi, >> >>>> >>>> I think we want to solve two problems >>>> 1) Handle situation when statement is duplicated (unrolling, loop >>>> header copying etc.) and thus different locations in program >>>> corresponds to different copies. >>>> >>>> Current code simply picks address with maximal count (expecting that >>>> the statemnt perhaps spans multiple BBs) while we should really sum >>>> counts of execution of different copies. >>>> 1) Handle situation where single address implies multiple executions >>>> of the same statement (i.e. after vectorization) >>>> >> >> Here is the revised patch-set. In this:2 >> 1. I have dropped gcov changes to 32bit discriminator. Instead I have >> changed autofdo tools to handle multiplicity and copy-id. >> I have put-up a pull request to autfdo tools as >> https://github.com/google/autofdo/pull/257. This means all the changes to >> auto-profile pass is not needed for this. >> We could still add 32bit support if there is a need as a follow up. >> >> I have the split the patch into >> 1. Hierarchical discriminate support >> 2. Change vectoriser to add hierarchal discriminator >> 3. Adding hierarchical discriminate for loop versioning >> 4. Adding hierarchical discriminate for loop unrolling >> > > This patch adds hierarchical discriminator support for loop unrolling. > Assigns multiplicity and copyid discriminators to distinguish unrolled > iterations. > > gcc/ChangeLog: > > * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Assign > hierarchical discriminators for loop unrolling. > * cfgloopmanip.h (DLTHE_RECORD_HIERARCHICAL_DISCRIMINATOR): New flag. > * tree-ssa-loop-ivcanon.cc (try_unroll_loop_completely): Pass flag > to enable hierarchical discriminator assignment. > (try_peel_loop): Likewise. > > gcc/testsuite/ChangeLog: > > * gcc.dg/hierarchical-discriminator-unroll.c: New test.
Ping? Thanks, Kugan > > Signed-off-by: Kugan Vivekanandarajah <[email protected]> > > Thanks, > Kugan > > <0004-Autofdo-Add-hierarchical-discriminator-for-loop-unro.patch>
0004-Autofdo-Add-hierarchical-discriminator-for-loop-unro.patch
Description: 0004-Autofdo-Add-hierarchical-discriminator-for-loop-unro.patch
