On Thu, 7 Dec 2017, Tom de Vries wrote:

> Hi,
> 
> I'm currently debugging a problem in lra, and got a bit lost in the 20k+ lines
> dump file.
> 
> I observed that:
> - the lra dump file is one of the biggest ones
> - lra itself consists of a looping of sub-passes.
> 
> So, I've:
> - written a dump infrastructure addition that can be used within a pass
>   to mark the end of the current (sub)dump file and start a next
>   subdump file.
> - used that infrastructure to instrument lra to dump info from
>   different subpasses into separate files.
> 
> Using this patch I managed to split the reload dump file into smaller bits:
> ...
> $ wc -l *.reload.*
>        3 no-scevccp-outer-10.c.276r.reload
>        0 no-scevccp-outer-10.c.276r.reload.001.lra_start
>        3 no-scevccp-outer-10.c.276r.reload.002.remove_scratches
>     2335 no-scevccp-outer-10.c.276r.reload.003.lra_constraints
>     1781 no-scevccp-outer-10.c.276r.reload.004.lra_create_live_ranges
>      460 no-scevccp-outer-10.c.276r.reload.005.lra_inheritance
>      920 no-scevccp-outer-10.c.276r.reload.006.lra_create_live_ranges
>      563 no-scevccp-outer-10.c.276r.reload.007.lra_assign
>      184 no-scevccp-outer-10.c.276r.reload.008.lra_undo_inheritance
>      830 no-scevccp-outer-10.c.276r.reload.009.lra_create_live_ranges
>        3 no-scevccp-outer-10.c.276r.reload.010.lra_coalesce
>      165 no-scevccp-outer-10.c.276r.reload.011.lra_constraints
>      844 no-scevccp-outer-10.c.276r.reload.012.lra_create_live_ranges
>      110 no-scevccp-outer-10.c.276r.reload.013.lra_inheritance
>      879 no-scevccp-outer-10.c.276r.reload.014.lra_create_live_ranges
>       22 no-scevccp-outer-10.c.276r.reload.015.lra_assign
>       74 no-scevccp-outer-10.c.276r.reload.016.lra_undo_inheritance
>       19 no-scevccp-outer-10.c.276r.reload.017.lra_constraints
>      845 no-scevccp-outer-10.c.276r.reload.018.lra_create_live_ranges
>       80 no-scevccp-outer-10.c.276r.reload.019.lra_remat
>       27 no-scevccp-outer-10.c.276r.reload.020.lra_spill
>      866 no-scevccp-outer-10.c.276r.reload.021.lra_constraints
>      830 no-scevccp-outer-10.c.276r.reload.022.lra_create_live_ranges
>        0 no-scevccp-outer-10.c.276r.reload.023.lra_inheritance
>      830 no-scevccp-outer-10.c.276r.reload.024.lra_create_live_ranges
>       53 no-scevccp-outer-10.c.276r.reload.025.lra_assign
>        5 no-scevccp-outer-10.c.276r.reload.026.lra_constraints
>      370 no-scevccp-outer-10.c.276r.reload.027.lra_finishing
>     4137 no-scevccp-outer-10.c.276r.reload.028.lra_end
>        0 no-scevccp-outer-10.c.276r.reload.029.lra_start
>       27 no-scevccp-outer-10.c.276r.reload.030.remove_scratches
>      553 no-scevccp-outer-10.c.276r.reload.031.lra_constraints
>      188 no-scevccp-outer-10.c.276r.reload.032.lra_create_live_ranges
>        8 no-scevccp-outer-10.c.276r.reload.033.lra_inheritance
>      188 no-scevccp-outer-10.c.276r.reload.034.lra_create_live_ranges
>       21 no-scevccp-outer-10.c.276r.reload.035.lra_assign
>        3 no-scevccp-outer-10.c.276r.reload.036.lra_undo_inheritance
>        5 no-scevccp-outer-10.c.276r.reload.037.lra_constraints
>       99 no-scevccp-outer-10.c.276r.reload.038.lra_finishing
>      515 no-scevccp-outer-10.c.276r.reload.039.lra_end
> ...
> 
> Notes:
> - dump info from different functions is not put together
> - this is on by default atm. We probably want to enable this only
>   using a switch fsplit-dump or some such.
> - the lra_end dump files ends with ";; Function ...", which should be in
>   the next lra_start dump file. Once we enable this using a switch we
>   can probably do better.
> 
> Any comments?

Sometimes it's harder to walk through multiple files IMHO.  Merging
ira and lra dumps would be nice.

;)

And you can open a file multiple times so what's exactly the benefit
of having multiple files?

Richard.

Reply via email to