------- Comment #4 from pinskia at gcc dot gnu dot org 2006-01-11 13:09 ------- The diff between dse and forwrop: --- pr25734.c.t88.dse2 2006-01-11 14:08:11.000000000 +0100 +++ pr25734.c.t89.forwprop3 2006-01-11 14:08:11.000000000 +0100 @@ -1,6 +1,19 @@
;; Function sysfs_hash_and_remove (sysfs_hash_and_remove) + + +Symbols to be put in SSA form + +TMT.6 TMT.7 + +Incremental SSA update started at block: 0 + +Number of blocks in CFG: 8 +Number of blocks to update: 6 ( 75%) + + + sysfs_hash_and_remove (dir, name) { struct list_head * entry; @@ -32,10 +45,9 @@ sysfs_hash_and_remove (dir, name) # sd_17 = PHI <sd_1(3)>; <L1>:; - entry_16 = &sd_17->s_sibling; - D.1917_18 = entry_16->next; + D.1917_18 = sd_17->s_sibling.next; __list_del (D.1917_18); - entry_16->next = entry_16; + sd_17->s_sibling.next = entry_16; goto <bb 7> (<L4>); <L2>:; --- Even though we prop entry_16 into simplify into sd_17, we still have a reference to entry_16. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25734