* @file
* @brief Flags to control optimizations.
* @author Michael Beck, Sebastian Hack
- * @version $Id$
*/
#include "config.h"
/* DISABLE - don't do this optimization
ENABLE - lets see, if there is a better graph */
-#define ON (-1)
-#define OFF (0)
+#define ON -1
+#define OFF 0
#define FLAG(name, value, def) (irf_##name & def) |
#define E_FLAG(name, value, def) FLAG(name, value, def)
/* verbose is always off on default */
optimization_state_t libFIRM_verb = 0;
+/* silence warnings */
+void set_opt_optimize(int value);
+
/* an external flag can be set and get from outside */
#define E_FLAG(name, value, def) \
void set_opt_##name(int flag) { \
if (flag) libFIRM_opt |= irf_##name; \
else libFIRM_opt &= ~irf_##name; \
} \
-void set_opt_##name##_verbose(int flag) { \
- if (flag) libFIRM_verb |= irf_##name; \
- else libFIRM_verb &= ~irf_##name; \
-} \
int (get_opt_##name)(void) { \
- return _get_opt_##name(); \
+ return get_opt_##name##_(); \
}
/* an internal flag can only be set from outside */
if (flag) libFIRM_opt |= irf_##name; \
else libFIRM_opt &= ~irf_##name; \
} \
-void set_opt_##name##_verbose(int flag) { \
- if (flag) libFIRM_verb |= irf_##name; \
- else libFIRM_verb &= ~irf_##name; \
-}
#define R_FLAG(name, value)
/* for compatibility reasons */
void set_optimize(int value)
{
- if (value) libFIRM_opt |= irf_optimize;
- else libFIRM_opt &= ~irf_optimize;
+ set_opt_optimize(value);
}
int (get_optimize)(void)
return get_opt_optimize();
}
-void set_opt_control_flow(int value)
-{
- set_opt_control_flow_straightening(value);
- set_opt_control_flow_weak_simplification(value);
- set_opt_control_flow_strong_simplification(value);
-}
-
/* Save the current optimization state. */
void save_optimization_state(optimization_state_t *state)
{