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 insn's live in must be the bb's live in, but the assertion failed. Besides, this code won't get assertion failed on gcc4.1.1. On Wed, Apr 16, 2008 at 6:50 PM, Eric Botcazou <[EMAIL PROTECTED]> wrote: > > 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 > > fprintf(file, "after propagate, insn live in:\n"); > debug_bitmap_file (file, insn_live_in); > > be different if you don't update insn_live_in? You need to say what you're > really dumping here. > > -- > Eric Botcazou >