This is the mail archive of the gcc-help@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]

A live analysis problem on gcc4.2.3


I use propagate_one_insn to get the current insn's live in. But it
seems wrong when propagate.
Before propagate one insn, there is no reg111 in live out and current
insn def the reg111, how can reg111

appear in live in after propagate???

My flag to propagate is:
  flags = PROP_DEATH_NOTES;
  flags &= ~(PROP_SCAN_DEAD_CODE | PROP_SCAN_DEAD_STORES
		 | PROP_KILL_DEAD_CODE);

This is the dump:

current insn:
(insn/f 43 42 44 2 (set (reg/f:DI 111 r35)
        (reg/f:DI 12 r12)) -1 (nil)
    (nil))

before propagate, insn live in:
first = 0x600000000011b0b0 current = 0x600000000011b0b0 indx = 0
    0x600000000011b0b0 next = 0x600000000011b0d8 prev = (nil) indx = 0
        bits = { 0 1 12 }
    0x600000000011b0d8 next = (nil) prev = 0x600000000011b0b0 indx = 2
        bits = { 320 328 }

before propagate, insn live out:
first = 0x600000000011b000 current = 0x600000000011b000 indx = 0
    0x600000000011b000 next = 0x600000000011b028 prev = (nil) indx = 0
        bits = { 0 1 12 }
    0x600000000011b028 next = (nil) prev = 0x600000000011b000 indx = 2
        bits = { 320 328 }

after propagate, insn live in:
first = 0x600000000011b0b0 current = 0x600000000011b0b0 indx = 0
    0x600000000011b0b0 next = 0x600000000011b0d8 prev = (nil) indx = 0
        bits = { 0 1 12 111 }
    0x600000000011b0d8 next = (nil) prev = 0x600000000011b0b0 indx = 2
        bits = { 320 328 }

after propagate, insn live out:
first = 0x600000000011b000 current = 0x600000000011b000 indx = 0
    0x600000000011b000 next = 0x600000000011b028 prev = (nil) indx = 0
        bits = { 0 1 12 }
    0x600000000011b028 next = (nil) prev = 0x600000000011b000 indx = 2
        bits = { 320 328 }


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