> Jan Hubicka <[EMAIL PROTECTED]> writes: > > > Producing USE expressions embedding whole INSN. The comment promise > > that those will be removed before reorg ends, but they are not. This > > patch just adds simple code to remove them in very last dbr_schedule > > pass. > > I see code in dbr_schedule to delete them: > > /* Delete any USE insns made by update_block; subsequent passes don't need > them or know how to deal with them. */ > for (insn = first; insn; insn = next) > { > next = NEXT_INSN (insn); > > if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE > && INSN_P (XEXP (PATTERN (insn), 0))) > next = delete_related_insns (insn); > } > > Why is that not working?
Hmm, good catch. I didn't noticed that code. The problem is that update_block is still called after this loop is done, at least moving that loop down past the loop just bellow it solves the ICE too. I must admit I have no idea what those placeholders are good for... Honza > > Ian