irop: Constify get_op_ops().
[libfirm] / ir / ir / irgraph_t.h
index ae99e39..be23d5d 100644 (file)
@@ -1,20 +1,6 @@
 /*
- * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
- *
  * This file is part of libFirm.
- *
- * This file may be distributed and/or modified under the terms of the
- * GNU General Public License version 2 as published by the Free Software
- * Foundation and appearing in the file LICENSE.GPL included in the
- * packaging of this file.
- *
- * Licensees holding valid libFirm Professional Edition licenses may use
- * this file in accordance with the libFirm Commercial License.
- * Agreement provided with the Software.
- *
- * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE.
+ * Copyright (C) 2012 University of Karlsruhe.
  */
 
 /**
 #include "pset.h"
 #include "set.h"
 
-/** Suffix that is added to every frame type. */
-#define FRAME_TP_SUFFIX "frame_tp"
+#define is_ir_graph(thing)                    is_ir_graph_(thing)
+#define get_irg_start_block(irg)              get_irg_start_block_(irg)
+#define set_irg_start_block(irg, node)        set_irg_start_block_(irg, node)
+#define get_irg_start(irg)                    get_irg_start_(irg)
+#define set_irg_start(irg, node)              set_irg_start_(irg, node)
+#define get_irg_end_block(irg)                get_irg_end_block_(irg)
+#define set_irg_end_block(irg, node)          set_irg_end_block_(irg, node)
+#define get_irg_end(irg)                      get_irg_end_(irg)
+#define set_irg_end(irg, node)                set_irg_end_(irg, node)
+#define get_irg_initial_exec(irg)             get_irg_initial_exec_(irg)
+#define set_irg_initial_exec(irg, node)       set_irg_initial_exec_(irg, node)
+#define get_irg_frame(irg)                    get_irg_frame_(irg)
+#define set_irg_frame(irg, node)              set_irg_frame_(irg, node)
+#define get_irg_initial_mem(irg)              get_irg_initial_mem_(irg)
+#define set_irg_initial_mem(irg, node)        set_irg_initial_mem_(irg, node)
+#define get_irg_args(irg)                     get_irg_args_(irg)
+#define set_irg_args(irg, node)               set_irg_args_(irg, node)
+#define get_irg_no_mem(irg)                   get_irg_no_mem_(irg)
+#define set_irn_no_mem(irg, node)             set_irn_no_mem_(irg, node)
+#define get_irg_entity(irg)                   get_irg_entity_(irg)
+#define set_irg_entity(irg, ent)              set_irg_entity_(irg, ent)
+#define get_irg_frame_type(irg)               get_irg_frame_type_(irg)
+#define set_irg_frame_type(irg, ftp)          set_irg_frame_type_(irg, ftp)
+#define get_irg_pinned(irg)                   get_irg_pinned_(irg)
+#define get_irg_callee_info_state(irg)        get_irg_callee_info_state_(irg)
+#define set_irg_callee_info_state(irg, s)     set_irg_callee_info_state_(irg, s)
+#define get_irg_additional_properties(irg)    get_irg_additional_properties_(irg)
+#define set_irg_additional_properties(irg, m) set_irg_additional_properties_(irg, m)
+#define set_irg_additional_property(irg, f)   set_irg_additional_property_(irg, f)
+#define set_irg_link(irg, thing)              set_irg_link_(irg, thing)
+#define get_irg_link(irg)                     get_irg_link_(irg)
+#define get_irg_visited(irg)                  get_irg_visited_(irg)
+#define get_irg_block_visited(irg)            get_irg_block_visited_(irg)
+#define set_irg_block_visited(irg, v)         set_irg_block_visited_(irg, v)
+#define inc_irg_block_visited(irg)            inc_irg_block_visited_(irg)
+#define dec_irg_block_visited(irg)            dec_irg_block_visited_(irg)
+#define get_irg_fp_model(irg)                 get_irg_fp_model_(irg)
+#define get_idx_irn(irg, idx)                 get_idx_irn_(irg, idx)
+#define irg_is_constrained(irg, constraints)  irg_is_constrained_(irg, constraints)
+#define add_irg_properties(irg, props)        add_irg_properties_(irg, props)
+#define clear_irg_properties(irg, props)      clear_irg_properties_(irg, props)
+#define irg_has_properties(irg, props)        irg_has_properties_(irg, props)
 
 /**
  * Initializes the graph construction module.
@@ -81,10 +107,19 @@ ir_graph *create_irg_copy(ir_graph *irg);
  * @param irg     the IR graph
  * @param p       new pin state
  */
-void set_irg_pinned(ir_graph *irg, op_pin_state p);
+static inline void set_irg_pinned(ir_graph *irg, op_pin_state p)
+{
+       irg->irg_pinned_state = p;
+}
 
 /** Returns the obstack associated with the graph. */
-struct obstack *get_irg_obstack(const ir_graph *irg);
+static inline struct obstack *get_irg_obstack(ir_graph *const irg)
+{
+       assert(obstack_object_size(&irg->obst) == 0);
+       return &irg->obst;
+}
+
+
 
 /**
  * Returns true if the node n is allocated on the storage of graph irg.
@@ -216,32 +251,11 @@ static inline void set_irg_frame_type_(ir_graph *irg, ir_type *ftp)
        irg->frame_type = ftp;
 }
 
-static inline struct obstack *get_irg_obstack_(const ir_graph *irg)
-{
-       return irg->obst;
-}
-
-
-static inline irg_phase_state get_irg_phase_state_(const ir_graph *irg)
-{
-       return irg->phase_state;
-}
-
-static inline void set_irg_phase_state_(ir_graph *irg, irg_phase_state state)
-{
-       irg->phase_state = state;
-}
-
 static inline op_pin_state get_irg_pinned_(const ir_graph *irg)
 {
        return irg->irg_pinned_state;
 }
 
-static inline void set_irg_pinned_(ir_graph *irg, op_pin_state p)
-{
-       irg->irg_pinned_state = p;
-}
-
 static inline irg_callee_info_state get_irg_callee_info_state_(const ir_graph *irg)
 {
        return irg->callee_info_state;
@@ -294,11 +308,6 @@ static inline void dec_irg_block_visited_(ir_graph *irg)
        --irg->block_visited;
 }
 
-static inline unsigned get_irg_estimated_node_cnt_(const ir_graph *irg)
-{
-       return irg->estimated_node_count;
-}
-
 /* Return the floating point model of this graph. */
 static inline unsigned get_irg_fp_model_(const ir_graph *irg)
 {
@@ -357,7 +366,7 @@ static inline void irg_kill_node(ir_graph *irg, ir_node *n)
        if (idx + 1 == irg->last_node_idx)
                --irg->last_node_idx;
        irg->idx_irn_map[idx] = NULL;
-       obstack_free(irg->obst, n);
+       obstack_free(&irg->obst, n);
 }
 
 /**
@@ -397,53 +406,4 @@ static inline void set_irg_anchor(ir_graph *irg, int idx, ir_node *irn)
        set_irn_n(irg->anchor, idx, irn);
 }
 
-
-#define is_ir_graph(thing)                    is_ir_graph_(thing)
-#define get_irg_start_block(irg)              get_irg_start_block_(irg)
-#define set_irg_start_block(irg, node)        set_irg_start_block_(irg, node)
-#define get_irg_start(irg)                    get_irg_start_(irg)
-#define set_irg_start(irg, node)              set_irg_start_(irg, node)
-#define get_irg_end_block(irg)                get_irg_end_block_(irg)
-#define set_irg_end_block(irg, node)          set_irg_end_block_(irg, node)
-#define get_irg_end(irg)                      get_irg_end_(irg)
-#define set_irg_end(irg, node)                set_irg_end_(irg, node)
-#define get_irg_initial_exec(irg)             get_irg_initial_exec_(irg)
-#define set_irg_initial_exec(irg, node)       set_irg_initial_exec_(irg, node)
-#define get_irg_frame(irg)                    get_irg_frame_(irg)
-#define set_irg_frame(irg, node)              set_irg_frame_(irg, node)
-#define get_irg_initial_mem(irg)              get_irg_initial_mem_(irg)
-#define set_irg_initial_mem(irg, node)        set_irg_initial_mem_(irg, node)
-#define get_irg_args(irg)                     get_irg_args_(irg)
-#define set_irg_args(irg, node)               set_irg_args_(irg, node)
-#define get_irg_no_mem(irg)                   get_irg_no_mem_(irg)
-#define set_irn_no_mem(irg, node)             set_irn_no_mem_(irg, node)
-#define get_irg_entity(irg)                   get_irg_entity_(irg)
-#define set_irg_entity(irg, ent)              set_irg_entity_(irg, ent)
-#define get_irg_frame_type(irg)               get_irg_frame_type_(irg)
-#define set_irg_frame_type(irg, ftp)          set_irg_frame_type_(irg, ftp)
-#define get_irg_obstack(irg)                  get_irg_obstack_(irg)
-#define get_irg_phase_state(irg)              get_irg_phase_state_(irg)
-#define set_irg_phase_state(irg, state)       set_irg_phase_state_(irg, state)
-#define get_irg_pinned(irg)                   get_irg_pinned_(irg)
-#define set_irg_pinned(irg, p)                set_irg_pinned_(irg, p)
-#define get_irg_callee_info_state(irg)        get_irg_callee_info_state_(irg)
-#define set_irg_callee_info_state(irg, s)     set_irg_callee_info_state_(irg, s)
-#define get_irg_additional_properties(irg)    get_irg_additional_properties_(irg)
-#define set_irg_additional_properties(irg, m) set_irg_additional_properties_(irg, m)
-#define set_irg_additional_property(irg, f)   set_irg_additional_property_(irg, f)
-#define set_irg_link(irg, thing)              set_irg_link_(irg, thing)
-#define get_irg_link(irg)                     get_irg_link_(irg)
-#define get_irg_visited(irg)                  get_irg_visited_(irg)
-#define get_irg_block_visited(irg)            get_irg_block_visited_(irg)
-#define set_irg_block_visited(irg, v)         set_irg_block_visited_(irg, v)
-#define inc_irg_block_visited(irg)            inc_irg_block_visited_(irg)
-#define dec_irg_block_visited(irg)            dec_irg_block_visited_(irg)
-#define get_irg_estimated_node_cnt(irg)       get_irg_estimated_node_cnt_(irg)
-#define get_irg_fp_model(irg)                 get_irg_fp_model_(irg)
-#define get_idx_irn(irg, idx)                 get_idx_irn_(irg, idx)
-#define irg_is_constrained(irg, constraints)  irg_is_constrained_(irg, constraints)
-#define add_irg_properties(irg, props)        add_irg_properties_(irg, props)
-#define clear_irg_properties(irg, props)      clear_irg_properties_(irg, props)
-#define irg_has_properties(irg, props)        irg_has_properties_(irg, props)
-
 #endif