> 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))
Are you talking about flow.c:propagate_one_insn? If so, how do you map "live in" and "live out" exactly, given that flow.c doesn't use these but operates on a struct propagate_block_info instead? -- Eric Botcazou