------- Comment #2 from hubicka at ucw dot cz 2009-05-09 18:29 ------- Subject: Re: [4.5 Regression] ICE in purge_dead_edges, at cfgrtl.c:2274
The problem here is that combine constructs (set (pc) (pc)) as noo-op move expecting it to be removed immediately. It is however misinterpreted as jump that is giong to be removed at the end of BB and update_cfg_for_uncondjump add FALLTHRU flag on the edge that fails in verification. Interestingly enough modifying update_cfg_for_uncondjump to ignore insns that are not last in BB seem to cause miscompilations in testsuite.... I am looking into the cgraph failures now, but this should be easy to fix. Honza -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39886