#include "firm_types.h"
#include "irop.h"
+#include "iropt.h"
#include "irextbb.h"
#include "type.h"
* The graph is in phase_building during construction of the irgraph.
* The construction is finished by a call to finalize_cons().
*
- * Finalize_cons() sets the state to phase_high. All stadard Firm nodes are
+ * Finalize_cons() sets the state to phase_high. All standard Firm nodes are
* allowed.
*
* To get the irgraph into phase_low all Sel nodes must be removed and
* memory allocated by Alloc must be explicit. @@@ More conditions?
*
* phase_backend is set if architecture specific machine nodes are inserted
- * (and probally most standard Firm are removed).
+ * (and probably most standard Firm are removed).
*/
typedef enum {
phase_building,
phase_high,
phase_low,
- phase_backend
+ phase_backend
} irg_phase_state;
/** returns the phase_state of an IR graph. */
* Tells how to handle an ir graph in inlineing.
*/
typedef enum {
- irg_inline_any, /**< No restriction on inlineing. Default. */
- irg_inline_forbidden, /**< The graph may not be inlined. */
- irg_inline_recomended, /**< The graph should be inlined. */
- irg_inline_forced /**< The graph must be inlined. */
+ irg_inline_any, /**< No restriction on inlineing. Default. */
+ irg_inline_forbidden, /**< The graph may not be inlined. */
+ irg_inline_recomended, /**< The graph should be inlined. */
+ irg_inline_forced, /**< The graph must be inlined. */
+ irg_inline_forced_no_body /**< The graph must be inlined. No body is allowed
+ to be emitted. */
} irg_inline_property;
/** Returns the inline property of a graph. */
/** Returns the last irn index for this graph. */
unsigned get_irg_last_idx(const ir_graph *irg);
+/** Returns the floating point model of this graph. */
+unsigned get_irg_fp_model(const ir_graph *irg);
+
+/** Sets a floating point model for this graph. */
+void set_irg_fp_model(ir_graph *irg, unsigned model);
+
/**
* Access custom graph data.
* The data must have been registered with