> -----Original Message-----
> From: Prathamesh Kulkarni <[email protected]>
> Sent: 16 December 2025 18:39
> To: Jan Hubicka <[email protected]>
> Cc: [email protected]
> Subject: [RFC][Enable time profile reordering with AutoFDO] Group
> profiled functions together during partitioning
> 
> External email: Use caution opening links or attachments
> 
> 
> Hi Honza,
> The attached patch implements the partitioning changes by grouping
> profiled functions (having non-zero tp_first_run) together in
> partition_by_tp_first_run.
> 
> With balanced partitioning + partition_by_tp_first_run, for workload I
> tested on, all the profiled symbols (with non-zero tp_first_run) land
> in one partition:
> tp_first_run_order_pos: 474
> 
> But with only balanced partitioning, they get split across 4 different
> partitions:
> tp_first_run_order_pos: 55
> tp_first_run_order_pos: 198
> tp_first_run_order_pos: 58
> tp_first_run_order_pos: 163
> 
> (and overall 10 less partitions are used with balanced partitioning +
> partition_by_tp_first_run)
> 
> Altho, I didn't see much perf difference between balanced partitioning
> vs balanced partitioning + partition_by_tp_first_run, I am assuming
> it'd be possibly better wrt code locality if we explicitly partition
> all profiled symbols together to ensure they land in single partition
> (or as few partitions as needed) ?
Hi,
ping: https://gcc.gnu.org/pipermail/gcc-patches/2025-December/703788.html

Thanks,
Prathamesh
> 
> Signed-off-by: Prathamesh Kulkarni <[email protected]>
> 
> Thanks,
> Prathamesh

Reply via email to