renamed symconst_size to symconst_type_size
[libfirm] / ir / opt / opt_osr.c
index ad312eb..94e1570 100644 (file)
@@ -38,6 +38,7 @@
 #include "hashptr.h"
 #include "irtools.h"
 #include "array.h"
+#include "firmstat.h"
 
 /** The debug handle. */
 DEBUG_ONLY(static firm_dbg_module_t *dbg;)
@@ -362,11 +363,8 @@ static ir_node *reduce(ir_node *orig, ir_node *iv, ir_node *rc, iv_env *env) {
                        else if (is_Phi(result))
                                o = apply(orig, o, rc, env);
                        else {
-                               switch (code) {
-                               case iro_Mul:
+                               if (code == iro_Mul)
                                        o = apply(orig, o, rc, env);
-                                       break;
-                               }
                        }
                        set_irn_n(result, i, o);
                }
@@ -395,6 +393,7 @@ static void replace(ir_node *irn, ir_node *iv, ir_node *rc, iv_env *env) {
        if (result != irn) {
                node_entry *e, *iv_e;
 
+               hook_strength_red(current_ir_graph, irn);
                exchange(irn, result);
                e = get_irn_ne(result, env);
                iv_e = get_irn_ne(iv, env);
@@ -441,6 +440,8 @@ static int check_replace(ir_node *irn, iv_env *env) {
                        return 1;
                }
                break;
+       default:
+               break;
        }
        return 0;
 }