------- Comment #1 from rguenth at gcc dot gnu dot org  2006-05-02 14:56 -------
Happens at the point PRE calls cleanup_tree_cfg after purging dead eh edges.

Found partial redundancy for expression *VH.52 (VH.57)
Created value VH.86 for *D.934_6
Inserted pretmp.60_42 = D.1001_27 in predecessor 14
Created phi prephitmp.61_20 = PHI <storetmp.59_51(17), pretmp.60_42(14)>; in
block 4
Replaced *D.934_6 with prephitmp.61_20 in D.936_22 = *D.934_6;
  Removed EH side effects.
Removing basic block 18
;; basic block 18, loop depth 0, count 0
;; prev block 5, next block 6
;; pred:
;; succ:       16 [100.0%]  (fallthru)
<L10>:;
goto <bb 16> (<L6>);


Merging blocks 3 and 17
Merging blocks 4 and 5


(gdb) call debug_bb_n (3)
;; basic block 3, loop depth 0, count 0
;; prev block 2, next block 4
;; pred:       2 [100.0%]  (fallthru,exec)
;; succ:       4 [100.0%]  (fallthru)
<bb 3>:
D.938_17 = D.935_10 + -2;
#   SMT.37_56 = V_MAY_DEF <SMT.37_53>;
#   SMT.41_57 = V_MAY_DEF <SMT.41_54>;
*D.934_6 = D.938_17;
#   VUSE <SMT.37_56>;
#   VUSE <SMT.41_57>;
storetmp.59_51 = *D.934_6;


the store ends the BB, flow info fails to verify at the load.  No EH info
in the block, cfg_cleanup merged it with BB 17 (which is empty).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27389

Reply via email to