X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fldstopt.h;h=16ae572610da33f7ecd95d781a24384e57bb33f8;hb=8eb0a1256d88d68e762c1f087bffadca68dc5c12;hp=1c270254d6547a3fc35564163d37d71b0b464f4e;hpb=17a74053a6ea817f1c31fcd21c82a9ecc84daa28;p=libfirm diff --git a/ir/opt/ldstopt.h b/ir/opt/ldstopt.h index 1c270254d..16ae57261 100644 --- a/ir/opt/ldstopt.h +++ b/ir/opt/ldstopt.h @@ -25,7 +25,25 @@ * * Removes redundand non-volatile Loads and Stores. * May introduce Bad nodes if exceptional control flow - * is removed. + * is removed. The following cases are optimized: + * + * Load without result: A Load which has only a memory use + * is removed. + * + * Load after Store: A Load after a Store is removed, if + * the Load doesn't have an exception handler or is in + * the same block as the Store. + * + * Load after Load: A Load after a Load is removed, if the + * Load doesn't have an exception handler or is in the + * same block as the previous Load. + * + * Store before Store: A Store immediately before another + * Store in the same block is removed, if the Store doesn't + * have an exception handler. + * + * Store after Load: A Store after a Load is removed, if the + * Store doesn't have an exception handler. */ void optimize_load_store(ir_graph *irg);