This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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