X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fldstopt.c;h=70703a7e51dfbce392f17cd3e8ce87ce81d63948;hb=c7dc950ac0cdd7d24acffb798b5867d0db5dd7c8;hp=6d42668a8efa9e61619760e1413ecb2834a535eb;hpb=6e97987d13fbaa97d3beed1e6fb3e40ee79a22e4;p=libfirm diff --git a/ir/opt/ldstopt.c b/ir/opt/ldstopt.c index 6d42668a8..70703a7e5 100644 --- a/ir/opt/ldstopt.c +++ b/ir/opt/ldstopt.c @@ -887,7 +887,7 @@ static unsigned follow_Mem_chain_for_Store(ir_node *store, ir_node *curr) { get_nodes_MacroBlock(pred) == mblk && is_completely_overwritten(get_irn_mode(get_Store_value(pred)), mode)) { /* - * a Store after a Store in the same block -- a write after write. + * a Store after a Store in the same MacroBlock -- a write after write. * We may remove the first Store, if it does not have an exception handler. * * TODO: What, if both have the same exception handler ??? @@ -981,6 +981,7 @@ static unsigned optimize_store(ir_node *store) { /* follow the memory chain as long as there are only Loads */ INC_MASTER(); + return follow_Mem_chain_for_Store(store, skip_Proj(mem)); } /* optimize_store */