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.