Hi Kewen, On Fri, Jun 28, 2019 at 09:56:58AM +0800, Kewen.Lin wrote: > > It's probably a good idea to spend a line on this even in slim mode, it's > > really easy to miss and get confused and waste time without it. Nice :-) > > > >> The dumping will look like: > >> 6: NOTE_INSN_BASIC_BLOCK 2 > >> ... > >> 12: r135:CC=cmp(r122:DI,0) > >> 13: pc={(r135:CC!=0)?L52:pc} > >> REG_DEAD r135:CC > >> REG_BR_PROB 1041558836 > >> ;; pc (fall through) -> L67 > >> 31: L31: > >> 17: NOTE_INSN_BASIC_BLOCK 3 > > > > I think it should say the BB number it falls through to. Is the label > > number (insn number) useful? Maybe the BB number isn't always printed > > in slim dumps? > > OK, to use the label was meant to keep the same as what we print for jump > targets of jump insn. Yes, I think it's better to use BB number. > I think we can get the BB number from NOTE_INSN_BASIC_BLOCK now, it's > always printed in slim dumps.
Ah cool. I don't often look at "normal" slim dumps, sorry if some things I said were more confusing than helpful :-) (I see the thing combine prints at the start of the dump a lot, but that skips all non-insns. I should change that to make BB boundaries visible, it's pretty crucial for combine :-) ) > > Maybe slim dumps should always spend a line on showing basic block > > boundaries? Something visual like maybe > > ; ------------------------------ > > or > > ; BB 456 ------------------------------ > > or > > ; ------------ falls through to BB 123 > > or > > ; ------------ falls through to BB 123 > > ; BB 456 ------------------------------ > > > > It seems the current NOTE_INSN_BASIC_BLOCK is enough for the beginning? Yes, you are right. That note itself is probably enough to make it obvious there is a BB boundary, when skimming a dump. > > I don't use slim dumps much, they lose too much information, but maybe > > that can be fixed :-) > > OK, since I haven't got used to lisp format, the slim seems more > understandable to me. If it's not used too much, maybe this confusion > and possible improvement is too trivial. :) Slim dumps are much more compact, so you can do some things with it that you cannot with "full" dumps. But they miss just a little bit *too* much information; your patch helps to fix that. I'm all for it :-) [ Unrelated... One of my biggest problems with slim dumps... subregs... If it says r128:CC=cmp(r124:DI#4,0) then in what mode is the compare actually done? Now because I know what target this is in which configuration, the #4 is a good hint it is SImode, but what if it was LE so it would say #0? And for some ops you really cannot guess at all, say when picking apart a register. ] Segher