debug handle must be static
[libfirm] / ir / opt / ifconv.c
index fec2af8..b61edfe 100644 (file)
@@ -29,7 +29,6 @@
 #endif
 
 #include <assert.h>
-#include "dbginfo.h"
 #include "iroptimize.h"
 #include "obst.h"
 #include "irnode_t.h"
@@ -47,7 +46,7 @@
 #include "irdump.h"
 #include "debug.h"
 
-DEBUG_ONLY(firm_dbg_module_t *dbg);
+DEBUG_ONLY(static firm_dbg_module_t *dbg);
 
 /** allow every Psi to be created. */
 static int default_allow_ifconv(ir_node *sel, ir_node* phi_list, int i, int j)
@@ -62,7 +61,7 @@ static int default_allow_ifconv(ir_node *sel, ir_node* phi_list, int i, int j)
 /**
  * Default options.
  */
-static const opt_if_conv_info_t default_info = {
+static const ir_settings_if_conv_t default_info = {
        0,    /* doesn't matter for Psi */
        default_allow_ifconv
 };
@@ -264,7 +263,7 @@ static void prepare_path(ir_node* block, int i, const ir_node* dependency)
 
 static void if_conv_walker(ir_node* block, void* env)
 {
-       opt_if_conv_info_t* opt_info = env;
+       ir_settings_if_conv_t* opt_info = env;
        int arity;
        int i;
 
@@ -512,6 +511,7 @@ static void optimise_psis_1(ir_node* psi, void* env)
 {
        ir_node* t;
        ir_node* f;
+       ir_mode* mode;
 
        (void) env;
 
@@ -522,9 +522,10 @@ static void optimise_psis_1(ir_node* psi, void* env)
 
        DB((dbg, LEVEL_3, "Simplify %+F T=%+F F=%+F\n", psi, t, f));
 
-       if (is_Const(t) && is_Const(f)) {
+       mode = get_irn_mode(psi);
+
+       if (is_Const(t) && is_Const(f) && (mode_is_int(mode))) {
                ir_node* block = get_nodes_block(psi);
-               ir_mode* mode  = get_irn_mode(psi);
                ir_node* c     = get_Psi_cond(psi, 0);
                tarval* tv_t = get_Const_tarval(t);
                tarval* tv_f = get_Const_tarval(f);
@@ -540,10 +541,10 @@ static void optimise_psis_1(ir_node* psi, void* env)
 }
 
 
-void opt_if_conv(ir_graph *irg, const opt_if_conv_info_t *params)
+void opt_if_conv(ir_graph *irg, const ir_settings_if_conv_t *params)
 {
        struct obstack obst;
-       opt_if_conv_info_t p;
+       ir_settings_if_conv_t p;
 
        /* get the parameters */
        p = (params != NULL ? *params : default_info);