#include "config.h"
#endif
+#include "iroptimize.h"
+
#include <assert.h>
-#include "convopt.h"
#include "debug.h"
#include "ircons.h"
#include "irgmod.h"
get_mode_size_bits(dest_mode) < get_mode_size_bits(src_mode);
}
-/* TODO, backends can't handle and it's probably not more efficient on most
- archs */
+/* TODO, backends (at least ia23) can't handle it at the moment,
+ and it's probably not more efficient on most archs */
#if 0
static
void try_optimize_cmp(ir_node *node)
ir_mode *pred_mode;
ir_mode *mode;
int costs;
+ (void) data;
#if 0
if(is_Cmp(node)) {
void conv_opt(ir_graph *irg)
{
+ char invalidate = 0;
FIRM_DBG_REGISTER(dbg, "firm.opt.conv");
DB((dbg, LEVEL_1, "===> Performing conversion optimization on %+F\n", irg));
changed = 0;
irg_walk_graph(irg, NULL, conv_opt_walker, NULL);
local_optimize_graph(irg);
+ invalidate |= changed;
} while (changed);
+
+ if (invalidate) {
+ set_irg_outs_inconsistent(irg);
+ }
}