This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Question on fixup_abnormal_edges


Jan Hubicka wrote:
> some pass in the way updates the information incorrectly - 347
> should really be dead.  Can you figure out where it appears live first
> time?

>From the .life dump, we see live at start of bb 44 from live at end
and not at start of unique predecessor 43:

Register 347 used 18 times across 45 insns; set 9 times; dies in 8 places;
 crosses 4 calls; pointer.
[...]
Basic block 43: first insn 1456, last 404, loop_depth 0, count 0, freq 26.
Predecessors:  42 [29.0%]  (fallthru)
Successors:  44 [50.0%]  (fallthru) 51 [50.0%]  (ab,eh)
Registers live at start: 29 [$29] 30 [$30] 31 [AP] 63 [FP]
Registers live at end: 29 [$29] 30 [$30] 31 [AP] 63 [FP] 151 347

Basic block 44: first insn 1457, last 409, loop_depth 0, count 0, freq 13.
Predecessors:  43 [50.0%]  (fallthru)
Successors:  45 [50.0%]  (fallthru) 51 [50.0%]  (ab,eh)
Registers live at start: 29 [$29] 30 [$30] 31 [AP] 63 [FP] 151 347
Registers live at end: 25 [$25] 26 [$26] 29 [$29] 30 [$30] 31 [AP]
                       63 [FP] 150 347


The .lreg output seems surprising to me:

Register 347 used 18 times across 26624 insns; set 9 times; dies in 8 places;
 crosses 4 calls; GENERAL_REGS or none; pointer.
[...]
Basic block 42: first insn 1815, last 1646, loop_depth 0, count 0, freq 91.
Predecessors:  40 [50.0%]  (ab,abcall,eh) 39 [50.0%]  (ab,abcall,eh) 
               38 [50.0%]  (ab,eh) 37 [50.0%]  (ab,eh)
Successors:  43 [29.0%]  (fallthru) 52 [71.0%] 
Registers live at start: 16 [$16] 17 [$17] 29 [$29] 30 [$30] 31 [AP] 63 [FP]
Registers live at end: 29 [$29] 30 [$30] 31 [AP] 63 [FP] 162 164 347

Basic block 43: first insn 1456, last 404, loop_depth 0, count 0, freq 26.
Predecessors:  42 [29.0%]  (fallthru)
Successors:  44 [50.0%]  (fallthru) 51 [50.0%]  (ab,eh)
Registers live at start: 29 [$29] 30 [$30] 31 [AP] 63 [FP]
Registers live at end: 29 [$29] 30 [$30] 31 [AP] 63 [FP] 151 347

Basic block 44: first insn 1457, last 409, loop_depth 0, count 0, freq 13.
Predecessors:  43 [50.0%]  (fallthru)
Successors:  45 [50.0%]  (fallthru) 51 [50.0%]  (ab,eh)
Registers live at start: 29 [$29] 30 [$30] 31 [AP] 63 [FP] 151 347
Registers live at end: 25 [$25] 26 [$26] 29 [$29] 30 [$30] 31 [AP] 63 [FP]
                       150 347




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]