Re: A live analysis problem on gcc4.2.3

2008-04-16 Thread Eric Botcazou
> Yes. Any help? This doesn't make any sense to me. I would put a breakpoint on the few lines that update pbi->reg_live in flow.c and see why one of them triggers. -- Eric Botcazou

Re: A live analysis problem on gcc4.2.3

2008-04-16 Thread 袁立威
Yes. Any help? On Wed, Apr 16, 2008 at 7:20 PM, Eric Botcazou <[EMAIL PROTECTED]> wrote: > > Start from the bb's live out and calculate each insn's live in&out. > > Where the first insn's live in must be the bb's live in, but the > > assertion failed. > > So you're dumping pbi->reg_live after the

Re: A live analysis problem on gcc4.2.3

2008-04-16 Thread Eric Botcazou
> Start from the bb's live out and calculate each insn's live in&out. > Where the first insn's live in must be the bb's live in, but the > assertion failed. So you're dumping pbi->reg_live after the call to propagate_one_insn as "insn live in", right? -- Eric Botcazou

Re: A live analysis problem on gcc4.2.3

2008-04-16 Thread 袁立威
Sorry for misleading. Here, before propagation, the first fprintf dumps the last insn's live in ( which is also the current insn's live out in bb, and dumped by the second fprintf before propagation ) What I do is: Start from the bb's live out and calculate each insn's live in&out. Where the first

Re: A live analysis problem on gcc4.2.3

2008-04-16 Thread Eric Botcazou
> I don't want to update insn_live_in, I just want to get each insn's > live in and live out, so I start from the end of basic block and > propagate backward. But how can the output of fprintf(file, "before propagate, insn live in:\n"); debug_bitmap_file (file, insn_live_in); and

Re: A live analysis problem on gcc4.2.3

2008-04-16 Thread 袁立威
I don't want to update insn_live_in, I just want to get each insn's live in and live out, so I start from the end of basic block and propagate backward. I also make an assertion that when current insn meets block's first insn this backward calculate the same result as block's live in. More simple

Re: A live analysis problem on gcc4.2.3

2008-04-16 Thread Eric Botcazou
> Yes, I'm talking about propagate one insn in flow.c. How I map live in > and live out, please see the code below. Thanks, but AFAICS this code doesn't update insn_live_in at all. -- Eric Botcazou

Re: A live analysis problem on gcc4.2.3

2008-04-16 Thread Eric Botcazou
> Yes, I'm talking about propagate one insn in flow.c. How I map live in > and live out, please see the code below. Thanks, but AFAICS this code doesn't update insn_live_in at all. -- Eric Botcazou

Re: A live analysis problem on gcc4.2.3

2008-04-16 Thread 袁立威
-- Forwarded message -- From: 袁立威 <[EMAIL PROTECTED]> Date: Wed, Apr 16, 2008 at 6:03 PM Subject: Re: A live analysis problem on gcc4.2.3 To: Eric Botcazou <[EMAIL PROTECTED]> Yes, I'm talking about propagate one insn in flow.c. How I map live in and live out, pl

Re: A live analysis problem on gcc4.2.3

2008-04-16 Thread Eric Botcazou
> 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_DEA

A live analysis problem on gcc4.2.3

2008-04-16 Thread 袁立威
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; flag