Abort in redirect_edge_and_branch on vax at line 866

Jan Hubicka jh@suse.cz
Thu Jan 10 07:21:00 GMT 2002


>   > > The above doesn't match the "blt" pattern so I presume that it hasn't
>   > > been re-recognized.  "(set (pc) (pc))" would probably match the movsi
>   > > pattern because GENERAL_REGS is ALL_REGS.  Are you suggesting this
>   > > needs to change?
>   > No, se my other email - what happent was that gcse did changed jump into
>   > noop-set (original blt instruction) and left it in the instruction stream
>   > not cleaning up afterwards.
> gcse probably should have set INSN_CODE (blah) = -1; when it did this to
> avoid confusion.
> 
> Yes, the instruction is left in the insn stream -- that's the whole point
> behind running the jump optimizer afterwards -- to zap any nop jumps in the
> stream.
There is no jump optimizier and cfg_cleanup does not the job.
delete_trivially_dead_insns does and I most probably did mistake not adding
the function directly afterwards when zapping the jump optimizer.

Would you preffer to change the code to run the delete_trivial_dead_insns
and not delete the insn instead?
(dleting trivially dead insns is probably something that really should
happen, I am just bootstrapping the change, but I don't see point to do
the patching out yet and it is more complicated than just delte the insn
now).

Honza
> 
> jeff



More information about the Gcc-bugs mailing list