fixed meanings of optimizations
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Tue, 26 Aug 2008 12:14:13 +0000 (12:14 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Tue, 26 Aug 2008 12:14:13 +0000 (12:14 +0000)
[r21482]

include/libfirm/firmstat.h
ir/stat/stat_dmp.c

index 8906bba..c263c4b 100644 (file)
@@ -90,11 +90,10 @@ enum firmstat_optimizations_t {
        FS_OPT_MUX_ANDNOT_BOOL,                   /**< Muxb(sel, false, x) = And(Not(sel), x) */
        FS_OPT_MUX_C,                             /**< Mux(C, f, t) = C ? t : f */
        FS_OPT_MUX_EQ,                            /**< Mux(v, x, x) = x */
-       FS_OPT_MUX_TRANSFORM,                     /**< Mux(a, b, c) = b OR Mux(a, b, c) = c */
+       FS_OPT_MUX_TRANSFORM,                     /**< Mux(t ==/!= f, t, f) = f/t, Mux(t ==/!= 0, -t, t) = -t/t */
        FS_OPT_MUX_TO_MIN,                        /**< Mux(a < b, a, b) = Min(a,b) */
        FS_OPT_MUX_TO_MAX,                        /**< Mux(a > b, a, b) = Max(a,b) */
-       FS_OPT_MUX_TO_ABS,                        /**< Mux(a > b, a, b) = Abs(a,b) */
-       FS_OPT_MUX_TO_SHR,                        /**< Mux(a > b, a, b) = a >> b */
+       FS_OPT_MUX_TO_ABS,                        /**< Mux(a > 0, a, -a) = Abs(a) */
        FS_OPT_IDEM_UNARY,                        /**< Idempotent unary operation */
        FS_OPT_MINUS_NOT,                         /**< -(~x) = x + 1 */
        FS_OPT_NOT_MINUS_1,                       /**< ~(x - 1) = -x */
index 3fb01e6..161607c 100644 (file)
@@ -108,11 +108,10 @@ static const struct {
        { FS_OPT_MUX_ANDNOT_BOOL,"boolean simplification: Muxb(sel, false, x) = And(Not(sel), x)" },
        { FS_OPT_MUX_C,          "algebraic simplification: Mux(C, f, t) = C ? t : f" },
        { FS_OPT_MUX_EQ,         "algebraic simplification: Mux(v, x, x) = x" },
-       { FS_OPT_MUX_TRANSFORM,  "algebraic simplification: Mux(a, b, c) = b OR Mux(a,b, c) = c" },
+       { FS_OPT_MUX_TRANSFORM,  "algebraic simplification: Mux(t ==/!= f, t, f) = f/t, Mux(t ==/!= 0, -t, t) = -t/t" },
        { FS_OPT_MUX_TO_MIN,     "algebraic simplification: Mux(a < b, a, b) = Min(a,b)" },
        { FS_OPT_MUX_TO_MAX,     "algebraic simplification: Mux(a > b, a, b) = Max(a,b)" },
-       { FS_OPT_MUX_TO_ABS,     "algebraic simplification: Mux(a > b, a, b) = Abs(a,b)" },
-       { FS_OPT_MUX_TO_SHR,     "algebraic simplification: Mux(a > b, a, b) = a >> b" },
+       { FS_OPT_MUX_TO_ABS,     "algebraic simplification: Mux(a > 0, a, -a) = Abs(a)" },
        { FS_OPT_IDEM_UNARY,     "algebraic simplification: Idempotent unary operation" },
        { FS_OPT_MINUS_NOT,      "algebraic simplification: -(~x) = x + 1" },
        { FS_OPT_NOT_MINUS_1,    "algebraic simplification: ~(x - 1) = -x" },