X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgraph.h;h=897fac804ad28f948e5df2be5f58de936a35b64a;hb=74da44dca7d085718b7990fe107f00a793e917b0;hp=3485e22c655b3cd319b56efcbaa165a2d41e584a;hpb=9cd642970863a2f240a110f933c9256fc6cbd757;p=libfirm diff --git a/ir/ir/irgraph.h b/ir/ir/irgraph.h index 3485e22c6..897fac804 100644 --- a/ir/ir/irgraph.h +++ b/ir/ir/irgraph.h @@ -24,6 +24,7 @@ #include "firm_types.h" #include "irop.h" +#include "iropt.h" #include "irextbb.h" #include "type.h" @@ -283,7 +284,7 @@ long get_irg_graph_nr(ir_graph *irg); * 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 @@ -292,13 +293,13 @@ long get_irg_graph_nr(ir_graph *irg); * 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. */ @@ -429,10 +430,12 @@ void set_irg_callee_info_state(ir_graph *irg, irg_callee_info_s * 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. */ @@ -492,6 +495,12 @@ unsigned get_irg_estimated_node_cnt(const ir_graph *irg); /** 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