Let foreach_out_edge_kind() and foreach_out_edge_kind_safe() declare their iterator...
authorChristoph Mallon <christoph.mallon@gmx.de>
Fri, 13 Jul 2012 07:35:51 +0000 (09:35 +0200)
committerChristoph Mallon <christoph.mallon@gmx.de>
Fri, 13 Jul 2012 21:03:57 +0000 (23:03 +0200)
61 files changed:
include/libfirm/iredges.h
ir/ana/absgraph.c
ir/ana/domfront.c
ir/ana/execfreq.c
ir/ana/heights.c
ir/ana/irconsconfirm.c
ir/ana/irlivechk.c
ir/be/amd64/amd64_emitter.c
ir/be/arm/arm_emitter.c
ir/be/arm/arm_optimize.c
ir/be/beabi.c
ir/be/beabihelper.c
ir/be/bearch.h
ir/be/beblocksched.c
ir/be/bechordal.c
ir/be/bechordal_common.c
ir/be/bechordal_draw.c
ir/be/bechordal_main.c
ir/be/beflags.c
ir/be/begnuas.c
ir/be/beinsn.c
ir/be/beintlive_t.h
ir/be/beirgmod.c
ir/be/belistsched.c
ir/be/belive.c
ir/be/belower.c
ir/be/benode.c
ir/be/bepbqpcoloring.c
ir/be/bepeephole.c
ir/be/beschedregpress.c
ir/be/beschedtrace.c
ir/be/bespilldaemel.c
ir/be/bespillslots.c
ir/be/bessaconstr.c
ir/be/bestate.c
ir/be/beuses.c
ir/be/beutil.c
ir/be/beverify.c
ir/be/ia32/bearch_ia32.c
ir/be/ia32/ia32_address_mode.c
ir/be/ia32/ia32_emitter.c
ir/be/ia32/ia32_finish.c
ir/be/ia32/ia32_intrinsics.c
ir/be/ia32/ia32_optimize.c
ir/be/ia32/ia32_transform.c
ir/be/ia32/ia32_x87.c
ir/be/sparc/sparc_emitter.c
ir/be/sparc/sparc_stackframe.c
ir/debug/debugger.c
ir/ir/instrument.c
ir/ir/irdump.c
ir/ir/iredges.c
ir/ir/irgmod.c
ir/ir/irgopt.c
ir/lower/lower_dw.c
ir/lower/lower_softfloat.c
ir/opt/fp-vrp.c
ir/opt/funccall.c
ir/opt/jumpthreading.c
ir/opt/loop.c
ir/opt/opt_osr.c

index 8847378..934f290 100644 (file)
@@ -64,7 +64,7 @@ FIRM_API const ir_edge_t *get_irn_out_edge_next(const ir_node *irn,
  * edge.
  */
 #define foreach_out_edge_kind(irn, edge, kind) \
-       for(edge = get_irn_out_edge_first_kind(irn, kind); edge; edge = get_irn_out_edge_next(irn, edge))
+       for (ir_edge_t const *edge = get_irn_out_edge_first_kind(irn, kind); edge; edge = get_irn_out_edge_next(irn, edge))
 
 /**
  * A convenience iteration macro over all out edges of a node, which is safe
@@ -72,27 +72,27 @@ FIRM_API const ir_edge_t *get_irn_out_edge_next(const ir_node *irn,
  *
  * @param irn  The node.
  * @param edge An ir_edge_t pointer which shall be set to the current edge.
- * @param ne   The next edge, enables alteration safe edge processing.
  * @param kind The kind of the edge.
  */
-#define foreach_out_edge_kind_safe(irn, edge, ne, kind) \
-       for((edge) = (get_irn_out_edge_first_kind(irn, kind)), (ne) = ((edge) ? (get_irn_out_edge_next(irn, edge)) : NULL); \
-               edge; (edge) = (ne), (ne) = ((edge) ? (get_irn_out_edge_next(irn, edge)) : NULL))
+#define foreach_out_edge_kind_safe(irn, edge, kind) \
+       for (ir_edge_t const *edge = get_irn_out_edge_first_kind((irn), (kind)), *edge##__next; \
+            edge ? edge##__next = get_irn_out_edge_next((irn), edge), 1 : 0; \
+            edge = edge##__next)
 
 /**
  * Convenience macro for normal out edges.
  */
-#define foreach_out_edge(irn, edge)            foreach_out_edge_kind(irn, edge, EDGE_KIND_NORMAL)
+#define foreach_out_edge(irn, edge)       foreach_out_edge_kind(irn, edge, EDGE_KIND_NORMAL)
 
 /**
  * Convenience macro for normal out edges.
  */
-#define foreach_out_edge_safe(irn, edge, tmp)  foreach_out_edge_kind_safe(irn, edge, tmp, EDGE_KIND_NORMAL)
+#define foreach_out_edge_safe(irn, edge)  foreach_out_edge_kind_safe(irn, edge, EDGE_KIND_NORMAL)
 
 /**
  * A convenience iteration macro for all control flow edges.
  */
-#define foreach_block_succ(bl, edge)           foreach_out_edge_kind(bl, edge, EDGE_KIND_BLOCK)
+#define foreach_block_succ(bl, edge)      foreach_out_edge_kind(bl, edge, EDGE_KIND_BLOCK)
 
 /**
  * Returns the source node of an edge.
index 225aebb..4fe4f01 100644 (file)
@@ -47,7 +47,6 @@ static void *irg_cfg_succ_get_end(void *self)
 static void irg_cfg_succ_grow_succs(void *self, void *node, struct obstack *obst)
 {
        ir_node *bl = (ir_node*) node;
-       const ir_edge_t *edge;
 
        (void) self;
        foreach_block_succ(bl, edge) {
index 346df58..b81cda9 100644 (file)
@@ -58,7 +58,6 @@ static inline ir_node *get_idom(ir_node *bl)
 static ir_node **compute_df(ir_node *blk, ir_dom_front_info_t *info)
 {
        ir_node *c;
-       const ir_edge_t *edge;
        ir_node **df_list = NEW_ARR_F(ir_node *, 0);
        ir_node **df;
        size_t len;
index 85bd9f2..8ab3dd8 100644 (file)
@@ -174,16 +174,15 @@ static double *solve_lgs(gs_matrix_t *mat, double *x, int size)
  */
 static double get_cf_probability(ir_node *bb, int pos, double loop_weight)
 {
-       double           sum = 0.0;
-       double           cur = 1.0;
-       double           inv_loop_weight = 1./loop_weight;
-       const ir_node   *pred = get_Block_cfgpred_block(bb, pos);
-       const ir_loop   *pred_loop;
-       int              pred_depth;
-       const ir_edge_t *edge;
-       const ir_loop   *loop;
-       int              depth;
-       int              d;
+       double         sum = 0.0;
+       double         cur = 1.0;
+       double         inv_loop_weight = 1./loop_weight;
+       const ir_node *pred = get_Block_cfgpred_block(bb, pos);
+       const ir_loop *pred_loop;
+       int            pred_depth;
+       const ir_loop *loop;
+       int            depth;
+       int            d;
 
        if (is_Bad(pred))
                return 0;
index 5c4ac03..24eeb15 100644 (file)
@@ -149,8 +149,6 @@ static unsigned compute_height(ir_heights_t *h, ir_node *irn, const ir_node *bl)
 {
        irn_height_t *ih = get_height_data(h, irn);
 
-       const ir_edge_t *edge;
-
        /* bail out if we already visited that node. */
        if (ih->visited >= h->visited)
                return ih->height;
@@ -186,8 +184,7 @@ static unsigned compute_height(ir_heights_t *h, ir_node *irn, const ir_node *bl)
 
 static unsigned compute_heights_in_block(ir_node *bl, ir_heights_t *h)
 {
-       int             max_height = -1;
-       const ir_edge_t *edge;
+       int max_height = -1;
 
        h->visited++;
 
@@ -224,7 +221,6 @@ unsigned get_irn_height(const ir_heights_t *heights, const ir_node *irn)
 unsigned heights_recompute_block(ir_heights_t *h, ir_node *block)
 {
        ir_graph *irg = get_irn_irg(block);
-       const ir_edge_t *edge;
 
        assure_edges(irg);
 
index 362b083..8070216 100644 (file)
@@ -108,16 +108,14 @@ static ir_node *get_case_value(ir_node *switchn, long pn)
  */
 static void handle_case(ir_node *block, ir_node *switchn, long pn, env_t *env)
 {
-       ir_node         *c = NULL;
-       ir_node         *selector = get_Switch_selector(switchn);
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
+       ir_node *c = NULL;
+       ir_node *selector = get_Switch_selector(switchn);
 
        /* we can't do usefull things with the default label */
        if (pn == pn_Switch_default)
                return;
 
-       foreach_out_edge_safe(selector, edge, next) {
+       foreach_out_edge_safe(selector, edge) {
                ir_node *succ = get_edge_src_irn(edge);
                int     pos   = get_edge_src_pos(edge);
                ir_node *blk  = get_effective_use_block(succ, pos);
@@ -153,9 +151,8 @@ static void handle_modeb(ir_node *block, ir_node *selector, pn_Cond pnc, env_t *
 {
        ir_node *cond, *old, *other_blk = NULL, *con = NULL;
        ir_node *c_b = NULL, *c_o = NULL;
-       const ir_edge_t *edge, *next;
 
-       foreach_out_edge_safe(selector, edge, next) {
+       foreach_out_edge_safe(selector, edge) {
                ir_node *user     = get_edge_src_irn(edge);
                int     pos       = get_edge_src_pos(edge);
                ir_node *user_blk = get_effective_use_block(user, pos);
@@ -270,7 +267,6 @@ static void handle_if(ir_node *block, ir_node *cmp, ir_relation rel, env_t *env)
        ir_node *right = get_Cmp_right(cmp);
        ir_node *cond_block;
        ir_op *op;
-       const ir_edge_t *edge, *next;
 
        /* Beware of Bads */
        if (is_Bad(left) || is_Bad(right))
@@ -299,7 +295,7 @@ static void handle_if(ir_node *block, ir_node *cmp, ir_relation rel, env_t *env)
         */
        if (rel == ir_relation_equal) {
                cond_block = get_Block_cfgpred_block(block, 0);
-               foreach_out_edge_safe(left, edge, next) {
+               foreach_out_edge_safe(left, edge) {
                        ir_node *user = get_edge_src_irn(edge);
                        int     pos   = get_edge_src_pos(edge);
                        ir_node *blk  = get_effective_use_block(user, pos);
@@ -323,9 +319,7 @@ static void handle_if(ir_node *block, ir_node *cmp, ir_relation rel, env_t *env)
                                 * left == Const and we found a movable user of left in a
                                 * dominator of the Cond block
                                 */
-                               const ir_edge_t *user_edge;
-                               const ir_edge_t *user_next;
-                               foreach_out_edge_safe(user, user_edge, user_next) {
+                               foreach_out_edge_safe(user, user_edge) {
                                        ir_node *usr_of_usr = get_edge_src_irn(user_edge);
                                        int      npos       = get_edge_src_pos(user_edge);
                                        ir_node *user_blk   = get_effective_use_block(usr_of_usr, npos);
@@ -357,7 +351,7 @@ static void handle_if(ir_node *block, ir_node *cmp, ir_relation rel, env_t *env)
        } else { /* not ir_relation_equal cases */
                ir_node *c = NULL;
 
-               foreach_out_edge_safe(left, edge, next) {
+               foreach_out_edge_safe(left, edge) {
                        ir_node *succ = get_edge_src_irn(edge);
                        int     pos   = get_edge_src_pos(edge);
                        ir_node *blk  = get_effective_use_block(succ, pos);
@@ -384,7 +378,7 @@ static void handle_if(ir_node *block, ir_node *cmp, ir_relation rel, env_t *env)
                        ir_node *rc = NULL;
 
                        rel = get_inversed_relation(rel);
-                       foreach_out_edge_safe(right, edge, next) {
+                       foreach_out_edge_safe(right, edge) {
                                ir_node *succ = get_edge_src_irn(edge);
                                int     pos;
                                ir_node *blk;
@@ -495,10 +489,9 @@ static int is_non_null_Confirm(const ir_node *ptr)
  */
 static void insert_non_null(ir_node *ptr, ir_node *block, env_t *env)
 {
-       const ir_edge_t *edge, *next;
-       ir_node         *c = NULL;
+       ir_node *c = NULL;
 
-       foreach_out_edge_safe(ptr, edge, next) {
+       foreach_out_edge_safe(ptr, edge) {
                ir_node *succ = get_edge_src_irn(edge);
                int     pos;
                ir_node *blk;
index 2c1a31f..3120e7c 100644 (file)
@@ -135,8 +135,6 @@ static void red_trans_closure(lv_chk_t *lv)
                const ir_node *bl = (const ir_node*) dfs_get_post_num_node(lv->dfs, i);
                bl_info_t *bi = get_block_info(lv, bl);
 
-               const ir_edge_t *edge;
-
                bitset_set(bi->red_reachable, bi->id);
                foreach_block_succ (bl, edge) {
                        ir_node *succ = get_edge_src_irn(edge);
@@ -183,7 +181,6 @@ static void compute_back_edge_chain(lv_chk_t *lv, const ir_node *bl)
        /* iterate over them ... */
        bitset_foreach(tmp, elm) {
                bl_info_t *si = lv->map[elm];
-               const ir_edge_t *edge;
 
                /* and find back edge targets which are not reduced reachable from bl */
                foreach_block_succ (si->block, edge) {
@@ -217,8 +214,6 @@ static inline void compute_back_edge_chains(lv_chk_t *lv)
                const ir_node *bl = (const ir_node*) dfs_get_post_num_node(lv->dfs, i);
                bl_info_t *bi     = get_block_info(lv, bl);
 
-               const ir_edge_t *edge;
-
                if (!bitset_is_set(lv->back_edge_tgt, bi->id)) {
                        foreach_block_succ (bl, edge) {
                                ir_node *succ = get_edge_src_irn(edge);
@@ -328,8 +323,6 @@ unsigned lv_chk_bl_xxx(lv_chk_t *lv, const ir_node *bl, const ir_node *var)
         * the algorithm is simple. Just check for uses not inside this block.
         */
        if (def_bl == bl) {
-               const ir_edge_t *edge;
-
                stat_ev("lv_chk_def_block");
                DBG((lv->dbg, LEVEL_2, "lv check same block %+F in %+F\n", var, bl));
                foreach_out_edge (var, edge) {
@@ -376,7 +369,6 @@ unsigned lv_chk_bl_xxx(lv_chk_t *lv, const ir_node *bl, const ir_node *var)
 
                size_t i;
                unsigned min_dom, max_dom;
-               const ir_edge_t *edge;
 
                /* if the block has no DFS info, it cannot be reached.
                 * This can happen in functions with endless loops.
index ecabaa7..7b2dbdb 100644 (file)
@@ -215,17 +215,16 @@ static void emit_amd64_Jmp(const ir_node *node)
  */
 static void emit_amd64_Jcc(const ir_node *irn)
 {
-       const ir_edge_t      *edge;
-       const ir_node        *proj_true  = NULL;
-       const ir_node        *proj_false = NULL;
-       const ir_node        *block;
-       const ir_node        *next_block;
-       const char           *suffix;
-       const amd64_attr_t   *attr      = get_amd64_attr_const(irn);
-       ir_relation           relation  = attr->ext.relation;
-       ir_node              *op1       = get_irn_n(irn, 0);
-       const amd64_attr_t   *cmp_attr  = get_amd64_attr_const(op1);
-       bool                  is_signed = !cmp_attr->data.cmp_unsigned;
+       const ir_node      *proj_true  = NULL;
+       const ir_node      *proj_false = NULL;
+       const ir_node      *block;
+       const ir_node      *next_block;
+       const char         *suffix;
+       const amd64_attr_t *attr      = get_amd64_attr_const(irn);
+       ir_relation         relation  = attr->ext.relation;
+       ir_node            *op1       = get_irn_n(irn, 0);
+       const amd64_attr_t *cmp_attr  = get_amd64_attr_const(op1);
+       bool                is_signed = !cmp_attr->data.cmp_unsigned;
 
        assert(is_amd64_Cmp(op1));
 
index f67e5a6..b18393d 100644 (file)
@@ -348,7 +348,6 @@ static void arm_emit_cfop_target(const ir_node *irn)
  */
 static void emit_arm_B(const ir_node *irn)
 {
-       const ir_edge_t *edge;
        const ir_node *proj_true  = NULL;
        const ir_node *proj_false = NULL;
        const ir_node *block;
index c26921b..b2c0ba3 100644 (file)
@@ -99,8 +99,6 @@ static void peephole_be_IncSP(ir_node *node)
        int       cnt;
        int       sign = 1;
        arm_vals  v;
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
 
        /* first optimize incsp->incsp combinations */
        node = be_peephole_IncSP_IncSP(node);
@@ -129,7 +127,7 @@ static void peephole_be_IncSP(ir_node *node)
        /* reattach IncSP users */
        last = node;
        node = sched_next(first);
-       foreach_out_edge_safe(first, edge, next) {
+       foreach_out_edge_safe(first, edge) {
                ir_node *user = get_edge_src_irn(edge);
                int      pos  = get_edge_src_pos(edge);
                if (user == node)
index 9543949..8fa8a37 100644 (file)
@@ -378,7 +378,6 @@ static ir_node *adjust_call(be_abi_irg_t *env, ir_node *irn, ir_node *curr_sp)
        ir_node               **in;
        ir_node               **res_projs;
        int                     n_reg_results = 0;
-       const ir_edge_t        *edge;
        int                    *reg_param_idxs;
        int                    *stack_param_idx;
        int                     i, n;
@@ -524,8 +523,7 @@ static ir_node *adjust_call(be_abi_irg_t *env, ir_node *irn, ir_node *curr_sp)
        res_projs = ALLOCANZ(ir_node*, n_res);
 
        foreach_out_edge(irn, edge) {
-               const ir_edge_t *res_edge;
-               ir_node         *irn = get_edge_src_irn(edge);
+               ir_node *irn = get_edge_src_irn(edge);
 
                if (!is_Proj(irn) || get_Proj_proj(irn) != pn_Call_T_result)
                        continue;
@@ -794,7 +792,6 @@ static ir_node *adjust_alloc(be_abi_irg_t *env, ir_node *alloc, ir_node *curr_sp
        ir_type          *type      = get_Alloc_type(alloc);
        dbg_info         *dbg;
 
-       const ir_edge_t *edge;
        ir_node *new_alloc;
        ir_node *count;
        ir_node *size;
@@ -1377,7 +1374,6 @@ static void fix_start_block(ir_graph *irg)
 
        /* merge start block with successor if possible */
        {
-               const ir_edge_t *edge;
                foreach_out_edge(jmp, edge) {
                        ir_node *succ = get_edge_src_irn(edge);
                        if (!is_Block(succ))
@@ -1420,7 +1416,6 @@ static void modify_irg(ir_graph *irg)
        ir_node *start_bl;
        ir_node **args;
        ir_node *arg_tuple;
-       const ir_edge_t *edge;
        ir_type *arg_type, *bet_type;
        lower_frame_sels_env_t ctx;
 
index a5a66ec..adfc774 100644 (file)
@@ -383,7 +383,6 @@ ir_node *be_epilog_create_return(beabi_helper_env_t *env, dbg_info *dbgi,
  */
 static bool has_real_user(const ir_node *node)
 {
-       const ir_edge_t *edge;
        foreach_out_edge(node, edge) {
                ir_node *user = get_edge_src_irn(edge);
                if (!is_End(user) && !is_Anchor(user))
@@ -413,12 +412,11 @@ static ir_node *add_to_keep(ir_node *last_keep,
 
 void be_add_missing_keeps_node(ir_node *node)
 {
-       int              n_outs, i;
-       unsigned        *found_projs;
-       const ir_edge_t *edge;
-       ir_mode         *mode = get_irn_mode(node);
-       ir_node         *last_keep;
-       ir_node        **existing_projs;
+       int       n_outs, i;
+       unsigned *found_projs;
+       ir_mode  *mode = get_irn_mode(node);
+       ir_node  *last_keep;
+       ir_node **existing_projs;
 
        if (mode != mode_T) {
                if (!has_real_user(node)) {
index ad1f1b3..b769ef9 100644 (file)
@@ -624,7 +624,6 @@ static inline bool arch_irn_consider_in_reg_alloc(
 #define be_foreach_definition_(node, cls, value, code)                     \
        do {                                                                   \
        if (get_irn_mode(node) == mode_T) {                                    \
-               const ir_edge_t *edge_;                                            \
                foreach_out_edge(node, edge_) {                                    \
                        const arch_register_req_t *req_;                               \
                        value = get_edge_src_irn(edge_);                               \
index 029bafd..12d6073 100644 (file)
@@ -395,8 +395,7 @@ static void pick_block_successor(blocksched_entry_t *entry, blocksched_env_t *en
        ir_node            *block = entry->block;
        ir_node            *succ  = NULL;
        blocksched_entry_t *succ_entry;
-       const ir_edge_t    *edge;
-       double             best_succ_execfreq;
+       double              best_succ_execfreq;
 
        if (irn_visited_else_mark(block))
                return;
index 8f45e97..1e34f0c 100644 (file)
@@ -177,7 +177,6 @@ static ir_node *handle_constraints(be_chordal_alloc_env_t *alloc_env,
        pmap *partners;
        int i, n_alloc;
        size_t col;
-       const ir_edge_t *edge;
        ir_node *perm = NULL;
        //int match_res, cost;
        be_chordal_env_t *env  = alloc_env->chordal_env;
index fb7f1b0..2a3e634 100644 (file)
@@ -154,8 +154,6 @@ void create_borders(ir_node *block, void *env_ptr)
                DBG((dbg, LEVEL_2, "\tlive: %B\n", live));
 
                if (get_irn_mode(irn) == mode_T) {
-                       const ir_edge_t *edge;
-
                        foreach_out_edge(irn, edge) {
                                ir_node *proj = get_edge_src_irn(edge);
 
@@ -229,11 +227,10 @@ be_insn_t *chordal_scan_insn(be_chordal_env_t *env, ir_node *irn)
 
 ir_node *pre_process_constraints(be_chordal_env_t *env, be_insn_t **the_insn)
 {
-       be_insn_t *insn             = *the_insn;
-       ir_node *perm               = NULL;
-       bitset_t *out_constr        = bitset_alloca(env->cls->n_regs);
-       const ir_edge_t *edge;
-       int i;
+       be_insn_t *insn       = *the_insn;
+       ir_node   *perm       = NULL;
+       bitset_t  *out_constr = bitset_alloca(env->cls->n_regs);
+       int        i;
 
        assert(insn->has_constraints && "only do this for constrained nodes");
 
index 4405f0d..dba0772 100644 (file)
@@ -288,8 +288,7 @@ static void set_y(const draw_chordal_env_t *env, ir_node *bl, int up)
 static color_t *reg_to_color(const draw_chordal_env_t *env,
                                                         ir_node *rel_bl, ir_node *irn, color_t *color)
 {
-       int             phi_arg = 0;
-       const ir_edge_t *edge;
+       int phi_arg = 0;
        (void) env;
        (void) rel_bl;
 
index c92932a..d7cfa28 100644 (file)
@@ -185,9 +185,8 @@ static void dump(unsigned mask, ir_graph *irg,
  */
 static void memory_operand_walker(ir_node *irn, void *env)
 {
-       const ir_edge_t  *edge, *ne;
-       ir_node          *block;
-       ir_node          *spill;
+       ir_node *block;
+       ir_node *spill;
 
        (void)env;
 
@@ -201,7 +200,7 @@ static void memory_operand_walker(ir_node *irn, void *env)
        spill = be_get_Reload_mem(irn);
        block = get_nodes_block(irn);
 
-       foreach_out_edge_safe(irn, edge, ne) {
+       foreach_out_edge_safe(irn, edge) {
                ir_node *src = get_edge_src_irn(edge);
                int     pos  = get_edge_src_pos(edge);
 
index 52027ec..b7c8494 100644 (file)
@@ -87,7 +87,6 @@ static bool default_check_modifies(const ir_node *node)
  */
 static bool can_move(ir_node *node, ir_node *after)
 {
-       const ir_edge_t *edge;
        ir_node *node_block = get_nodes_block(node);
        assert(node_block == get_nodes_block(after));
 
@@ -98,7 +97,6 @@ static bool can_move(ir_node *node, ir_node *after)
        foreach_out_edge(node, edge) {
                ir_node *out = get_edge_src_irn(edge);
                if (is_Proj(out)) {
-                       const ir_edge_t *edge2;
                        assert(get_irn_n_edges_kind(out, EDGE_KIND_DEP) == 0);
                        foreach_out_edge(out, edge2) {
                                ir_node *out2 = get_edge_src_irn(edge2);
@@ -108,7 +106,6 @@ static bool can_move(ir_node *node, ir_node *after)
                                if (is_Phi(out2) || is_End(out2))
                                        continue;
                                if (is_Sync(out2)) {
-                                       const ir_edge_t *edge3;
                                        foreach_out_edge(out2, edge3) {
                                                ir_node *out3 = get_edge_src_irn(edge3);
                                                /* Phi or End represents a usage at block end. */
index 89d852e..73bd9b6 100644 (file)
@@ -1530,14 +1530,13 @@ static void emit_global_decls(const be_main_env_t *main_env)
 void be_emit_jump_table(const ir_node *node, const ir_switch_table *table,
                         ir_entity *entity, get_cfop_target_func get_cfop_target)
 {
-       unsigned          n_outs    = arch_get_irn_n_outs(node);
-       const ir_node   **targets   = XMALLOCNZ(const ir_node*, n_outs);
-       size_t            n_entries = ir_switch_table_get_n_entries(table);
-       unsigned long     length    = 0;
-       size_t            e;
-       const ir_edge_t  *edge;
-       unsigned          i;
-       const ir_node   **labels;
+       unsigned        n_outs    = arch_get_irn_n_outs(node);
+       const ir_node **targets   = XMALLOCNZ(const ir_node*, n_outs);
+       size_t          n_entries = ir_switch_table_get_n_entries(table);
+       unsigned long   length    = 0;
+       size_t          e;
+       unsigned        i;
+       const ir_node **labels;
 
        /* go over all proj's and collect their jump targets */
        foreach_out_edge(node, edge) {
index ed44d42..9a5f97a 100644 (file)
@@ -56,7 +56,6 @@ be_insn_t *be_scan_insn(const be_insn_env_t *env, ir_node *irn)
        insn->irn       = irn;
        insn->next_insn = sched_next(irn);
        if (get_irn_mode(irn) == mode_T) {
-               const ir_edge_t *edge;
                ir_node *p;
 
                /* This instruction might create more than one def. These are handled
index 1084fbc..8b61f50 100644 (file)
@@ -127,7 +127,6 @@ static inline int be_values_interfere(const be_lv_t *lv, const ir_node *a, const
 
        /* If there is no dominance relation, they do not interfere. */
        if(a2b) {
-               const ir_edge_t *edge;
                ir_node *bb = get_nodes_block(b);
 
                /*
@@ -210,7 +209,6 @@ static inline int _be_lv_chk_before_irn(ir_graph *irg, const ir_node *irn,
                                         const ir_node *where)
 {
        const be_lv_t *lv = be_get_irg_liveness(irg);
-       const ir_edge_t *edge;
 
        /* the node must strictly dominate the location, else it cannot be live there. */
        if (!_value_dominates(irn, where) || irn == where)
@@ -246,7 +244,6 @@ static inline int _be_lv_chk_after_irn(ir_graph *irg, const ir_node *irn,
                                        const ir_node *where)
 {
        const be_lv_t *lv = be_get_irg_liveness(irg);
-       const ir_edge_t *edge;
 
        if (!_value_dominates(irn, where))
                return 0;
index 022561a..c63e853 100644 (file)
@@ -156,16 +156,14 @@ static int blocks_removed;
  */
 static void remove_empty_block(ir_node *block)
 {
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
-       int              i;
-       int              arity;
-       ir_node         *node;
-       ir_node         *pred;
-       ir_node         *succ_block;
-       ir_node         *jump = NULL;
-       ir_graph        *irg = get_irn_irg(block);
-       ir_entity       *entity;
+       int        i;
+       int        arity;
+       ir_node   *node;
+       ir_node   *pred;
+       ir_node   *succ_block;
+       ir_node   *jump = NULL;
+       ir_graph  *irg = get_irn_irg(block);
+       ir_entity *entity;
 
        if (irn_visited_else_mark(block))
                return;
@@ -190,7 +188,7 @@ static void remove_empty_block(ir_node *block)
        entity     = get_Block_entity(block);
        pred       = get_Block_cfgpred(block, 0);
        succ_block = NULL;
-       foreach_out_edge_safe(jump, edge, next) {
+       foreach_out_edge_safe(jump, edge) {
                int pos = get_edge_src_pos(edge);
 
                assert(succ_block == NULL);
@@ -213,7 +211,7 @@ static void remove_empty_block(ir_node *block)
 
        /* there can be some non-scheduled Pin nodes left in the block, move them
         * to the succ block (Pin) or pred block (Sync) */
-       foreach_out_edge_safe(block, edge, next) {
+       foreach_out_edge_safe(block, edge) {
                node = get_edge_src_irn(edge);
 
                if (node == jump)
@@ -320,9 +318,7 @@ static void remove_dead_nodes_walker(ir_node *block, void *data)
 
                /* kill projs */
                if (get_irn_mode(node) == mode_T) {
-                       const ir_edge_t *edge;
-                       const ir_edge_t *next_edge;
-                       foreach_out_edge_safe(node, edge, next_edge) {
+                       foreach_out_edge_safe(node, edge) {
                                ir_node *proj = get_edge_src_irn(edge);
                                if (!is_Proj(proj))
                                        continue;
index 72d8c55..6839410 100644 (file)
@@ -164,8 +164,6 @@ static void try_make_ready(block_sched_env_t *env, ir_node *pred, ir_node *irn)
 
 static void selected(block_sched_env_t *env, ir_node *node)
 {
-       const ir_edge_t *edge;
-
        /* notify the selector about the finally selected node. */
        if (env->selector->node_selected)
                env->selector->node_selected(env->selector_block_env, node);
@@ -221,7 +219,6 @@ static void list_sched_block(ir_node *block, void *env_ptr)
        const list_sched_selector_t *selector = env->selector;
 
        block_sched_env_t be;
-       const ir_edge_t *edge;
        ir_nodeset_t *cands = &be.cands;
 
        /* Initialize the block's list head that will hold the schedule. */
index 5021d5f..bb1f804 100644 (file)
@@ -318,7 +318,6 @@ typedef struct lv_remove_walker_t {
  */
 static void liveness_for_node(ir_node *irn)
 {
-       const ir_edge_t *edge;
        ir_node *def_block;
 
        bitset_clear_all(re.visited);
@@ -517,8 +516,6 @@ void be_liveness_transfer(const arch_register_class_t *cls,
        assert(!is_Phi(node) && "liveness_transfer produces invalid results for phi nodes");
 
        if (get_irn_mode(node) == mode_T) {
-               const ir_edge_t *edge;
-
                foreach_out_edge(node, edge) {
                        ir_node *proj = get_edge_src_irn(edge);
 
index 83b60f6..9b7c013 100644 (file)
@@ -301,8 +301,6 @@ static void lower_perm_node(ir_node *irn, lower_env_t *env)
         * NOTE: This works with auto-magic. If we insert the new copy/exchange
         * nodes after this node, everything should be ok. */
        ir_node                     *      sched_point = sched_prev(irn);
-       const ir_edge_t             *      edge;
-       const ir_edge_t             *      next;
        int                                n;
        int                                i;
 
@@ -313,7 +311,7 @@ static void lower_perm_node(ir_node *irn, lower_env_t *env)
 
        /* build the list of register pairs (in, out) */
        n = 0;
-       foreach_out_edge_safe(irn, edge, next) {
+       foreach_out_edge_safe(irn, edge) {
                ir_node               *const out     = get_edge_src_irn(edge);
                long                   const pn      = get_Proj_proj(out);
                ir_node               *const in      = get_irn_n(irn, pn);
@@ -628,8 +626,6 @@ static void assure_constraints_walker(ir_node *block, void *walk_env)
                ir_mode *mode = get_irn_mode(irn);
 
                if (mode == mode_T) {
-                       const ir_edge_t *edge;
-
                        foreach_out_edge(irn, edge) {
                                ir_node *proj = get_edge_src_irn(edge);
 
@@ -864,8 +860,7 @@ static int push_through_perm(ir_node *perm)
        int i, n;
 
        /* get some Proj and find out the register class of that Proj. */
-       const ir_edge_t             *edge     = get_irn_out_edge_first_kind(perm, EDGE_KIND_NORMAL);
-       ir_node                     *one_proj = get_edge_src_irn(edge);
+       ir_node                     *one_proj = get_edge_src_irn(get_irn_out_edge_first_kind(perm, EDGE_KIND_NORMAL));
        const arch_register_class_t *cls      = arch_get_irn_reg_class(one_proj);
        assert(is_Proj(one_proj));
 
index 5754741..f385ce3 100644 (file)
@@ -1011,7 +1011,6 @@ ir_node *be_get_initial_reg_value(ir_graph *irg, const arch_register_t *reg)
        int      i     = get_start_reg_index(irg, reg);
        ir_node *start = get_irg_start(irg);
        ir_mode *mode  = arch_register_class_mode(arch_register_get_class(reg));
-       const ir_edge_t *edge;
 
        foreach_out_edge(start, edge) {
                ir_node *proj = get_edge_src_irn(edge);
index bfb819c..a8e671f 100644 (file)
@@ -345,7 +345,6 @@ static void create_pbqp_coloring_instance(ir_node *block, void *data)
                ir_nodeset_iterator_t  iter;
 
                if (get_irn_mode(irn) == mode_T) {
-                       const ir_edge_t *edge;
                        foreach_out_edge(irn, edge) {
                                ir_node *proj = get_edge_src_irn(edge);
                                if (!arch_irn_consider_in_reg_alloc(cls, proj))
@@ -410,7 +409,6 @@ static void create_pbqp_coloring_instance(ir_node *block, void *data)
                        bipartite_t *bp                  = bipartite_new(cls->n_regs, cls->n_regs);
 
                        /* add all proj after a perm to clique */
-                       const ir_edge_t *edge;
                        foreach_out_edge(irn, edge) {
                                ir_node *proj = get_edge_src_irn(edge);
 
@@ -510,9 +508,7 @@ static void create_pbqp_coloring_instance(ir_node *block, void *data)
 #else
                /* order nodes for perfect elimination order */
                if (get_irn_mode(irn) == mode_T) {
-                       bool             allHaveIFEdges = true;
-                       const ir_edge_t *edge;
-
+                       bool allHaveIFEdges = true;
                        foreach_out_edge(irn, edge) {
                                ir_node *proj = get_edge_src_irn(edge);
                                if (!arch_irn_consider_in_reg_alloc(cls, proj))
index ae296f4..2a08fc4 100644 (file)
@@ -94,7 +94,6 @@ static void clear_defs(ir_node *node)
 {
        /* clear values defined */
        if (get_irn_mode(node) == mode_T) {
-               const ir_edge_t *edge;
                foreach_out_edge(node, edge) {
                        ir_node *proj = get_edge_src_irn(edge);
                        clear_reg_value(proj);
@@ -229,9 +228,8 @@ static void process_block(ir_node *block, void *data)
  */
 bool be_has_only_one_user(ir_node *node)
 {
-       int              n = get_irn_n_edges(node);
-       int              n_users;
-       const ir_edge_t *edge;
+       int n = get_irn_n_edges(node);
+       int n_users;
 
        if (n <= 1)
                return 1;
index 0c8afed..1277f48 100644 (file)
@@ -152,8 +152,6 @@ static int compute_max_hops(reg_pressure_selector_env_t *env, ir_node *irn)
        ir_graph *irg = get_irn_irg(bl);
        int res       = 0;
 
-       const ir_edge_t *edge;
-
        foreach_out_edge(irn, edge) {
                ir_node *user       = get_edge_src_irn(edge);
                unsigned visited_nr = get_irg_visited(irg) + 1;
@@ -224,8 +222,6 @@ static int get_result_hops_sum(reg_pressure_selector_env_t *env, ir_node *irn)
 {
        int res = 0;
        if (get_irn_mode(irn) == mode_T) {
-               const ir_edge_t *edge;
-
                foreach_out_edge(irn, edge)
                        res += get_result_hops_sum(env, get_edge_src_irn(edge));
        }
index 7a0781f..79f2d19 100644 (file)
@@ -266,7 +266,6 @@ static sched_timestep_t latency(trace_env_t *env, ir_node *pred, int pred_cycle,
 static int get_num_successors(ir_node *irn)
 {
        int sum = 0;
-       const ir_edge_t *edge;
 
        if (get_irn_mode(irn) == mode_T) {
                /* for mode_T nodes: count the users of all Projs */
@@ -308,7 +307,6 @@ static int get_reg_difference(trace_env_t *env, ir_node *irn)
 
        if (get_irn_mode(irn) == mode_T) {
                /* mode_T nodes: num out regs == num Projs with mode datab */
-               const ir_edge_t *edge;
                foreach_out_edge(irn, edge) {
                        ir_node *proj = get_edge_src_irn(edge);
                        if (mode_is_datab(get_irn_mode(proj)))
@@ -387,8 +385,6 @@ static void descent(ir_node *root, ir_node *block, ir_node **list, trace_env_t *
  */
 static int is_root(ir_node *root, ir_node *block)
 {
-       const ir_edge_t *edge;
-
        foreach_out_edge(root, edge) {
                ir_node *succ = get_edge_src_irn(edge);
 
@@ -411,7 +407,6 @@ static void trace_preprocess_block(trace_env_t *env, ir_node *block)
        ir_node *root = NULL, *preord = NULL;
        ir_node *curr, *irn;
        int cur_pos;
-       const ir_edge_t *edge;
 
        /* First step: Find the root set. */
        foreach_out_edge(block, edge) {
index 4f058bf..f2e0c51 100644 (file)
@@ -77,10 +77,8 @@ static int compare_spill_candidates_desc(const void *d1, const void *d2)
 
 static double get_spill_costs(ir_node *node)
 {
-       const ir_edge_t *edge;
-       ir_node         *spill_place = skip_Proj(node);
-       double           costs       = be_get_spill_costs(spill_env, node,
-                                                         spill_place);
+       ir_node *spill_place = skip_Proj(node);
+       double   costs       = be_get_spill_costs(spill_env, node, spill_place);
 
        foreach_out_edge(node, edge) {
                ir_node *use = get_edge_src_irn(edge);
@@ -108,8 +106,6 @@ static double get_spill_costs(ir_node *node)
  */
 static void spill_node(ir_node *node)
 {
-       const ir_edge_t *edge;
-
        DBG((dbg, LEVEL_3, "\tspilling %+F\n", node));
 
        foreach_out_edge(node, edge) {
index 5e3b6f8..b1b2638 100644 (file)
@@ -224,7 +224,6 @@ static int my_values_interfere2(ir_graph *irg, const ir_node *a,
 
        /* If there is no dominance relation, they do not interfere. */
        if ((a2b | b2a) > 0) {
-               const ir_edge_t *edge;
                ir_node *bb;
 
                /*
@@ -260,7 +259,6 @@ static int my_values_interfere2(ir_graph *irg, const ir_node *a,
                foreach_out_edge(a, edge) {
                        const ir_node *user = get_edge_src_irn(edge);
                        if (is_Sync(user)) {
-                               const ir_edge_t *edge2;
                                foreach_out_edge(user, edge2) {
                                        const ir_node *user2 = get_edge_src_irn(edge2);
                                        assert(!is_Sync(user2));
index 7421805..86943ab 100644 (file)
@@ -581,12 +581,11 @@ void be_ssa_construction_fix_users_array(be_ssa_construction_env_t *env,
        stat_ev_tim_push();
 
        for (i = 0; i < nodes_len; ++i) {
-               const ir_edge_t *edge, *next;
                ir_node *value = nodes[i];
                DBG((dbg, LEVEL_3, "\tfixing users of %+F\n", value));
                introduce_definition(env, value);
 
-               foreach_out_edge_safe(value, edge, next) {
+               foreach_out_edge_safe(value, edge) {
                        ir_node *use   = get_edge_src_irn(edge);
 
                        if (env->ignore_uses != NULL &&
index 3c57ae3..1a02a06 100644 (file)
@@ -417,8 +417,6 @@ static void belady(minibelady_env_t *env, ir_node *block)
 
                /* record state changes by the node */
                if (get_irn_mode(node) == mode_T) {
-                       const ir_edge_t *edge;
-
                        foreach_out_edge(node, edge) {
                                const arch_register_t *reg;
                                ir_node *proj = get_edge_src_irn(edge);
index 41cd744..4cb0c5a 100644 (file)
@@ -227,7 +227,6 @@ static be_next_use_t get_next_use(be_uses_t *env, ir_node *from,
        ir_node  *node;
        unsigned  timestep;
        unsigned  next_use_step;
-       const ir_edge_t *edge;
 
        assert(skip_from_uses == 0 || skip_from_uses == 1);
        if (skip_from_uses) {
index 93f1d2e..6bafeaa 100644 (file)
@@ -53,8 +53,7 @@ void be_clear_links(ir_graph *irg)
  */
 ir_node *be_get_Proj_for_pn(const ir_node *irn, long pn)
 {
-       const ir_edge_t *edge;
-       ir_node         *proj;
+       ir_node *proj;
        assert(get_irn_mode(irn) == mode_T && "need mode_T");
 
        foreach_out_edge(irn, edge) {
index 282dd31..bc825f5 100644 (file)
@@ -596,7 +596,6 @@ int be_verify_spillslots(ir_graph *irg)
  */
 static int my_values_interfere(const ir_node *a, const ir_node *b)
 {
-       const ir_edge_t *edge;
        ir_node *bb;
        int a2b = value_dominates(a, b);
        int b2a = value_dominates(b, a);
@@ -831,7 +830,6 @@ static void verify_block_register_allocation(ir_node *block, void *data)
                int arity;
 
                if (get_irn_mode(node) == mode_T) {
-                       const ir_edge_t *edge;
                        foreach_out_edge(node, edge) {
                                ir_node *def = get_edge_src_irn(edge);
                                value_def(def);
index 10d614d..6e62271 100644 (file)
@@ -724,7 +724,6 @@ ir_node *ia32_turn_back_am(ir_node *node)
 
        /* rewire mem-proj */
        if (get_irn_mode(node) == mode_T) {
-               const ir_edge_t *edge;
                foreach_out_edge(node, edge) {
                        ir_node *out = get_edge_src_irn(edge);
                        if (get_irn_mode(out) == mode_M) {
@@ -971,16 +970,14 @@ static ir_node* create_spproj(ir_node *node, ir_node *pred, int pos)
  */
 static void transform_MemPerm(ir_node *node)
 {
-       ir_node         *block = get_nodes_block(node);
-       ir_graph        *irg   = get_irn_irg(node);
-       ir_node         *sp    = be_get_initial_reg_value(irg, &ia32_registers[REG_ESP]);
-       int              arity = be_get_MemPerm_entity_arity(node);
-       ir_node        **pops  = ALLOCAN(ir_node*, arity);
-       ir_node         *in[1];
-       ir_node         *keep;
-       int              i;
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
+       ir_node  *block = get_nodes_block(node);
+       ir_graph *irg   = get_irn_irg(node);
+       ir_node  *sp    = be_get_initial_reg_value(irg, &ia32_registers[REG_ESP]);
+       int       arity = be_get_MemPerm_entity_arity(node);
+       ir_node **pops  = ALLOCAN(ir_node*, arity);
+       ir_node  *in[1];
+       ir_node  *keep;
+       int       i;
 
        /* create Pushs */
        for (i = 0; i < arity; ++i) {
@@ -1041,7 +1038,7 @@ static void transform_MemPerm(ir_node *node)
        sched_add_before(node, keep);
 
        /* exchange memprojs */
-       foreach_out_edge_safe(node, edge, next) {
+       foreach_out_edge_safe(node, edge) {
                ir_node *proj = get_edge_src_irn(edge);
                int p = get_Proj_proj(proj);
 
index 66f8ff4..6d72e33 100644 (file)
@@ -422,8 +422,7 @@ int ia32_is_non_address_mode_node(ir_node const *node)
  */
 static int value_last_used_here(be_lv_t *lv, ir_node *here, ir_node *value)
 {
-       ir_node         *block = get_nodes_block(here);
-       const ir_edge_t *edge;
+       ir_node *block = get_nodes_block(here);
 
        /* If the value is live end it is for sure it does not die here */
        if (be_is_live_end(lv, block, value)) return 0;
index 1e7bc3e..1e96acf 100644 (file)
@@ -912,8 +912,7 @@ static void ia32_emit_exc_label(const ir_node *node)
  */
 static ir_node *get_proj(const ir_node *node, long proj)
 {
-       const ir_edge_t *edge;
-       ir_node         *src;
+       ir_node *src;
 
        assert(get_irn_mode(node) == mode_T && "expected mode_T node");
 
index 4ce450a..a8b3b6e 100644 (file)
@@ -108,9 +108,8 @@ static void ia32_transform_sub_to_neg_add(ir_node *irn)
                res = new_bd_ia32_xAdd(dbgi, block, noreg, noreg, nomem, res, in1);
                set_ia32_ls_mode(res, get_ia32_ls_mode(irn));
        } else {
-               ir_node         *flags_proj = NULL;
-               ir_node         *carry;
-               const ir_edge_t *edge;
+               ir_node *flags_proj = NULL;
+               ir_node *carry;
 
                if (get_irn_mode(irn) == mode_T) {
                        /* collect the Proj uses */
index 7410b91..044873a 100644 (file)
@@ -73,9 +73,7 @@ void ia32_handle_intrinsics(void)
  */
 static void reroute_result(ir_node *resproj, ir_node *l_res, ir_node *h_res)
 {
-       const ir_edge_t *edge, *next;
-
-       foreach_out_edge_safe(resproj, edge, next) {
+       foreach_out_edge_safe(resproj, edge) {
                ir_node *proj = get_edge_src_irn(edge);
                long    pn    = get_Proj_proj(proj);
 
@@ -106,9 +104,7 @@ static void resolve_call(ir_node *call, ir_node *l_res, ir_node *h_res, ir_graph
 
        if (edges_activated(irg)) {
                /* use rerouting to prevent some warning in the backend */
-               const ir_edge_t *edge, *next;
-
-               foreach_out_edge_safe(call, edge, next) {
+               foreach_out_edge_safe(call, edge) {
                        ir_node *proj = get_edge_src_irn(edge);
                        pn_Call pn    = (pn_Call)get_Proj_proj(proj);
 
index c46bdc8..a91fb45 100644 (file)
@@ -153,8 +153,6 @@ static void peephole_ia32_Cmp(ir_node *const node)
        int                          ins_permuted;
        ir_node                     *test;
        arch_register_t       const *reg;
-       ir_edge_t             const *edge;
-       ir_edge_t             const *tmp;
 
        if (get_ia32_op_type(node) != ia32_Normal)
                return;
@@ -188,7 +186,7 @@ static void peephole_ia32_Cmp(ir_node *const node)
        reg = arch_get_irn_register_out(node, pn_ia32_Cmp_eflags);
        arch_set_irn_register_out(test, pn_ia32_Test_eflags, reg);
 
-       foreach_out_edge_safe(node, edge, tmp) {
+       foreach_out_edge_safe(node, edge) {
                ir_node *const user = get_edge_src_irn(edge);
 
                if (is_Proj(user))
@@ -221,7 +219,6 @@ static void peephole_ia32_Test(ir_node *node)
                ir_mode         *flags_mode;
                ir_mode         *op_mode;
                ir_node         *schedpoint;
-               const ir_edge_t *edge;
                produces_flag_t  produced;
 
                if (get_nodes_block(left) != block)
@@ -405,18 +402,16 @@ static void peephole_ia32_Return(ir_node *node)
  */
 static void peephole_IncSP_Store_to_push(ir_node *irn)
 {
-       int              i;
-       int              maxslot;
-       int              inc_ofs;
-       ir_node         *node;
-       ir_node         *stores[MAXPUSH_OPTIMIZE];
-       ir_node         *block;
-       ir_graph        *irg;
-       ir_node         *curr_sp;
-       ir_mode         *spmode;
-       ir_node         *first_push = NULL;
-       ir_edge_t const *edge;
-       ir_edge_t const *next;
+       int       i;
+       int       maxslot;
+       int       inc_ofs;
+       ir_node  *node;
+       ir_node  *stores[MAXPUSH_OPTIMIZE];
+       ir_node  *block;
+       ir_graph *irg;
+       ir_node  *curr_sp;
+       ir_mode  *spmode;
+       ir_node  *first_push = NULL;
 
        memset(stores, 0, sizeof(stores));
 
@@ -515,7 +510,7 @@ static void peephole_IncSP_Store_to_push(ir_node *irn)
                mem_proj = new_r_Proj(push, mode_M, pn_ia32_Push_M);
 
                /* rewire Store Projs */
-               foreach_out_edge_safe(store, edge, next) {
+               foreach_out_edge_safe(store, edge) {
                        ir_node *proj = get_edge_src_irn(edge);
                        if (!is_Proj(proj))
                                continue;
@@ -534,7 +529,7 @@ static void peephole_IncSP_Store_to_push(ir_node *irn)
                inc_ofs -= 4;
        }
 
-       foreach_out_edge_safe(irn, edge, next) {
+       foreach_out_edge_safe(irn, edge) {
                ir_node *const src = get_edge_src_irn(edge);
                int      const pos = get_edge_src_pos(edge);
 
@@ -803,7 +798,6 @@ static void peephole_Load_IncSP_to_pop(ir_node *irn)
        for (++i; i <= maxslot; ++i) {
                ir_node *load = loads[i];
                ir_node *mem, *pop;
-               const ir_edge_t *edge, *tmp;
                const arch_register_t *reg;
 
                mem = get_irn_n(load, n_ia32_mem);
@@ -821,7 +815,7 @@ static void peephole_Load_IncSP_to_pop(ir_node *irn)
                sched_add_before(irn, pop);
 
                /* rewire now */
-               foreach_out_edge_safe(load, edge, tmp) {
+               foreach_out_edge_safe(load, edge) {
                        ir_node *proj = get_edge_src_irn(edge);
 
                        set_Proj_pred(proj, pop);
@@ -1308,8 +1302,7 @@ void ia32_peephole_optimization(ir_graph *irg)
 static inline void try_kill(ir_node *node)
 {
        if (get_irn_mode(node) == mode_T) {
-               const ir_edge_t *edge, *next;
-               foreach_out_edge_safe(node, edge, next) {
+               foreach_out_edge_safe(node, edge) {
                        ir_node *proj = get_edge_src_irn(edge);
                        try_kill(proj);
                }
index f1f6393..1497c42 100644 (file)
@@ -5792,7 +5792,6 @@ static void postprocess_fp_call_results(void)
                for (j = get_method_n_ress(mtp) - 1; j >= 0; --j) {
                        ir_type *res_tp = get_method_res_type(mtp, j);
                        ir_node *res, *new_res;
-                       const ir_edge_t *edge, *next;
                        ir_mode *res_mode;
 
                        if (! is_atomic_type(res_tp)) {
@@ -5809,7 +5808,7 @@ static void postprocess_fp_call_results(void)
                        new_res = NULL;
 
                        /* now patch the users */
-                       foreach_out_edge_safe(res, edge, next) {
+                       foreach_out_edge_safe(res, edge) {
                                ir_node *succ = get_edge_src_irn(edge);
 
                                /* ignore Keeps */
index 77b9bb2..5723f3d 100644 (file)
@@ -397,8 +397,6 @@ static ir_node *x87_patch_insn(ir_node *n, ir_op *op)
 
        if (mode == mode_T) {
                /* patch all Proj's */
-               const ir_edge_t *edge;
-
                foreach_out_edge(n, edge) {
                        ir_node *proj = get_edge_src_irn(edge);
                        if (is_Proj(proj)) {
@@ -423,8 +421,6 @@ static ir_node *x87_patch_insn(ir_node *n, ir_op *op)
  */
 static ir_node *get_irn_Proj_for_mode(ir_node *n, ir_mode *m)
 {
-       const ir_edge_t *edge;
-
        assert(get_irn_mode(n) == mode_T && "Need mode_T node");
 
        foreach_out_edge(n, edge) {
@@ -740,8 +736,6 @@ static vfp_liveness vfp_liveness_transfer(ir_node *irn, vfp_liveness live)
        const arch_register_class_t *cls = &ia32_reg_classes[CLASS_ia32_vfp];
 
        if (get_irn_mode(irn) == mode_T) {
-               const ir_edge_t *edge;
-
                foreach_out_edge(irn, edge) {
                        ir_node *proj = get_edge_src_irn(edge);
 
@@ -1126,9 +1120,7 @@ static int sim_load(x87_state *state, ir_node *n, ir_op *op, int res_pos)
  */
 static void collect_and_rewire_users(ir_node *store, ir_node *old_val, ir_node *new_val)
 {
-       const ir_edge_t *edge, *ne;
-
-       foreach_out_edge_safe(old_val, edge, ne) {
+       foreach_out_edge_safe(old_val, edge) {
                ir_node *user = get_edge_src_irn(edge);
 
                if (! user || user == store)
@@ -1855,8 +1847,6 @@ static int sim_Copy(x87_state *state, ir_node *n)
  */
 static ir_node *get_call_result_proj(ir_node *call)
 {
-       const ir_edge_t *edge;
-
        /* search the result proj */
        foreach_out_edge(call, edge) {
                ir_node *proj = get_edge_src_irn(edge);
@@ -1961,10 +1951,9 @@ typedef struct perm_data_t {
  */
 static int sim_Perm(x87_state *state, ir_node *irn)
 {
-       int             i, n;
-       ir_node         *pred = get_irn_n(irn, 0);
-       int             *stack_pos;
-       const ir_edge_t *edge;
+       int      i, n;
+       ir_node *pred = get_irn_n(irn, 0);
+       int     *stack_pos;
 
        /* handle only floating point Perms */
        if (! mode_is_float(get_irn_mode(pred)))
@@ -2100,7 +2089,6 @@ static void x87_simulate_block(x87_simulator *sim, ir_node *block)
        ir_node *n, *next;
        blk_state *bl_state = x87_get_bl_state(sim, block);
        x87_state *state = bl_state->begin;
-       const ir_edge_t *edge;
        ir_node *start_block;
 
        assert(state != NULL);
index f676310..31b1e22 100644 (file)
@@ -1029,12 +1029,11 @@ typedef const char* (*get_cc_func)(ir_relation relation);
 static void emit_sparc_branch(const ir_node *node, get_cc_func get_cc)
 {
        const sparc_jmp_cond_attr_t *attr = get_sparc_jmp_cond_attr_const(node);
-       ir_relation      relation    = attr->relation;
-       const ir_node   *proj_true   = NULL;
-       const ir_node   *proj_false  = NULL;
-       const ir_edge_t *edge;
-       const ir_node   *block;
-       const ir_node   *next_block;
+       ir_relation    relation    = attr->relation;
+       const ir_node *proj_true   = NULL;
+       const ir_node *proj_false  = NULL;
+       const ir_node *block;
+       const ir_node *next_block;
 
        foreach_out_edge(node, edge) {
                ir_node *proj = get_edge_src_irn(edge);
index b14a17c..2d8b455 100644 (file)
@@ -50,8 +50,7 @@ static void set_irn_sp_bias(ir_node *node, int new_bias)
 static void process_bias(ir_node *block, bool sp_relative, int bias,
                          int free_bytes)
 {
-       const ir_edge_t *edge;
-       ir_node         *irn;
+       ir_node *irn;
 
        mark_Block_block_visited(block);
 
index 456ccc7..4c1c126 100644 (file)
@@ -1323,7 +1323,6 @@ const char *gdb_out_edge_helper(const ir_node *node)
        char *b = buf;
        size_t l;
        size_t len = sizeof(buf);
-       const ir_edge_t *edge;
        foreach_out_edge(node, edge) {
                ir_node *n = get_edge_src_irn(edge);
 
index d740f1c..77d9a23 100644 (file)
 
 void instrument_initcall(ir_graph *irg, ir_entity *ent)
 {
-       const ir_edge_t *edge;
-       ir_node         *initial_exec;
-       ir_node         *initial_mem;
-       ir_node         *start_block;
-       ir_node         *adr, *call, *new_mem;
-       ir_node         *first_block = NULL;
+       ir_node        *initial_exec;
+       ir_node        *initial_mem;
+       ir_node        *start_block;
+       ir_node        *adr, *call, *new_mem;
+       ir_node        *first_block = NULL;
        int             i, idx, need_new_block;
        symconst_symbol sym;
 
index 311af7b..0735c68 100644 (file)
@@ -1262,9 +1262,8 @@ static void dump_ir_data_edges(FILE *F, const ir_node *n)
  */
 static void dump_ir_edges(ir_node *node, void *env)
 {
-       int              i = 0;
-       FILE            *F = (FILE*)env;
-       const ir_edge_t *edge;
+       int   i = 0;
+       FILE *F = (FILE*)env;
 
        foreach_out_edge(node, edge) {
                ir_node *succ = get_edge_src_irn(edge);
index 65d936d..74079d5 100644 (file)
@@ -412,9 +412,7 @@ void edges_notify_edge(ir_node *src, int pos, ir_node *tgt, ir_node *old_tgt,
                        edges_notify_edge_kind(src, pos, bl_tgt, bl_old, EDGE_KIND_BLOCK, irg);
                } else if (get_irn_mode(src) == mode_X && old_tgt != NULL && is_Block(old_tgt)) {
                        /* moving a jump node from one block to another */
-                       const ir_edge_t *edge;
-                       const ir_edge_t *next;
-                       foreach_out_edge_kind_safe(old_tgt, edge, next, EDGE_KIND_BLOCK) {
+                       foreach_out_edge_kind_safe(old_tgt, edge, EDGE_KIND_BLOCK) {
                                ir_node *succ       = get_edge_src_irn(edge);
                                int      succ_pos   = get_edge_src_pos(edge);
                                ir_node *block_pred = get_Block_cfgpred(succ, succ_pos);
@@ -659,9 +657,7 @@ void edges_reroute_kind(ir_node *from, ir_node *to, ir_edge_kind_t kind)
 
 void edges_reroute_except(ir_node *from, ir_node *to, ir_node *exception)
 {
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
-       foreach_out_edge_safe(from, edge, next) {
+       foreach_out_edge_safe(from, edge) {
                ir_node *src = get_edge_src_irn(edge);
                if (src == exception)
                        continue;
@@ -693,8 +689,7 @@ static void verify_set_presence(ir_node *irn, void *data)
 
 static void verify_list_presence(ir_node *irn, void *data)
 {
-       build_walker    *w = (build_walker*)data;
-       const ir_edge_t *e;
+       build_walker *w = (build_walker*)data;
 
        bitset_set(w->reachable, get_irn_idx(irn));
 
@@ -979,15 +974,13 @@ int (get_irn_n_edges_kind)(const ir_node *irn, ir_edge_kind_t kind)
 static void irg_walk_edges2(ir_node *node, irg_walk_func *pre,
                             irg_walk_func *post, void *env)
 {
-       const ir_edge_t *edge, *next;
-
        if (irn_visited_else_mark(node))
                return;
 
        if (pre != NULL)
                pre(node, env);
 
-       foreach_out_edge_kind_safe(node, edge, next, EDGE_KIND_NORMAL) {
+       foreach_out_edge_kind_safe(node, edge, EDGE_KIND_NORMAL) {
                /* find the corresponding successor block. */
                ir_node *pred = get_edge_src_irn(edge);
                irg_walk_edges2(pred, pre, post, env);
@@ -1016,15 +1009,13 @@ void irg_walk_edges(ir_node *node, irg_walk_func *pre, irg_walk_func *post,
 static void irg_block_edges_walk2(ir_node *bl, irg_walk_func *pre,
                                   irg_walk_func *post, void *env)
 {
-       const ir_edge_t *edge, *next;
-
        if (!Block_block_visited(bl)) {
                mark_Block_block_visited(bl);
 
                if (pre)
                        pre(bl, env);
 
-               foreach_out_edge_kind_safe(bl, edge, next, EDGE_KIND_BLOCK) {
+               foreach_out_edge_kind_safe(bl, edge, EDGE_KIND_BLOCK) {
                        /* find the corresponding successor block. */
                        ir_node *pred = get_edge_src_irn(edge);
                        irg_block_edges_walk2(pred, pre, post, env);
index 2c2a289..3731be5 100644 (file)
@@ -171,8 +171,6 @@ static void move(ir_node *node, ir_node *from_bl, ir_node *to_bl)
 
 static void move_projs(const ir_node *node, ir_node *to_bl)
 {
-       const ir_edge_t *edge;
-
        if (get_irn_mode(node) != mode_T)
                return;
 
@@ -251,13 +249,9 @@ void part_block(ir_node *node)
 
 ir_node *part_block_edges(ir_node *node)
 {
-       ir_graph        *irg       = get_irn_irg(node);
-       ir_node         *old_block = get_nodes_block(node);
-       ir_node         *new_block = new_r_Block(irg,
-                                                get_Block_n_cfgpreds(old_block),
-                                                get_Block_cfgpred_arr(old_block));
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
+       ir_graph *irg       = get_irn_irg(node);
+       ir_node  *old_block = get_nodes_block(node);
+       ir_node  *new_block = new_r_Block(irg, get_Block_n_cfgpreds(old_block), get_Block_cfgpred_arr(old_block));
 
        /* old_block has no predecessors anymore for now */
        set_irn_in(old_block, 0, NULL);
@@ -266,7 +260,7 @@ ir_node *part_block_edges(ir_node *node)
        move_edges(node, old_block, new_block);
 
        /* move Phi nodes to new_block */
-       foreach_out_edge_safe(old_block, edge, next) {
+       foreach_out_edge_safe(old_block, edge) {
                ir_node *phi = get_edge_src_irn(edge);
                if (!is_Phi(phi))
                        continue;
index f793fb9..2f494b9 100644 (file)
@@ -107,11 +107,8 @@ static void enqueue_node(ir_node *node, pdeq *waitq)
  */
 static void enqueue_users(ir_node *n, pdeq *waitq)
 {
-       const ir_edge_t *edge;
-
        foreach_out_edge(n, edge) {
-               ir_node         *succ  = get_edge_src_irn(edge);
-               const ir_edge_t *edge2;
+               ir_node *succ  = get_edge_src_irn(edge);
 
                enqueue_node(succ, waitq);
 
@@ -143,9 +140,7 @@ static void find_unreachable_blocks(ir_node *block, void *env)
                ir_graph *irg = get_irn_irg(block);
                ir_node  *end = get_irg_end(irg);
 
-               const ir_edge_t *edge;
                foreach_block_succ(block, edge) {
-                       const ir_edge_t *edge2;
                        ir_node *succ_block = get_edge_src_irn(edge);
                        enqueue_node(succ_block, waitq);
                        foreach_out_edge(succ_block, edge2) {
index f880211..e8bee5a 100644 (file)
@@ -203,7 +203,6 @@ static void add_block_cf_input_nr(ir_node *block, int nr, ir_node *cf)
 {
        int i, arity = get_irn_arity(block);
        ir_node **in;
-       const ir_edge_t *edge;
 
        assert(nr < arity);
 
@@ -379,8 +378,6 @@ static void lower_Load(ir_node *node, ir_mode *mode)
        ir_node    *block = get_nodes_block(node);
        ir_cons_flags volatility = get_Load_volatility(node) == volatility_is_volatile
                                 ? cons_volatile : cons_none;
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
 
        if (env->params->little_endian) {
                low  = adr;
@@ -396,7 +393,7 @@ static void lower_Load(ir_node *node, ir_mode *mode)
        proj_m = new_r_Proj(low, mode_M, pn_Load_M);
        high   = new_rd_Load(dbg, block, proj_m, high, mode, volatility);
 
-       foreach_out_edge_safe(node, edge, next) {
+       foreach_out_edge_safe(node, edge) {
                ir_node *proj = get_edge_src_irn(edge);
                if (!is_Proj(proj))
                        continue;
@@ -438,8 +435,6 @@ static void lower_Store(ir_node *node, ir_mode *mode)
        const lower64_entry_t *entry = get_node_entry(value);
        ir_cons_flags volatility = get_Store_volatility(node) == volatility_is_volatile
                                   ? cons_volatile : cons_none;
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
        (void) mode;
 
        assert(entry);
@@ -469,7 +464,7 @@ static void lower_Store(ir_node *node, ir_mode *mode)
        proj_m = new_r_Proj(low, mode_M, pn_Store_M);
        high   = new_rd_Store(dbg, block, proj_m, high, entry->high_word, volatility);
 
-       foreach_out_edge_safe(node, edge, next) {
+       foreach_out_edge_safe(node, edge) {
                ir_node *proj = get_edge_src_irn(edge);
                if (!is_Proj(proj))
                        continue;
@@ -535,19 +530,16 @@ static ir_node *get_intrinsic_address(ir_type *method, ir_op *op,
  */
 static void lower_Div(ir_node *node, ir_mode *mode)
 {
-       ir_node         *left   = get_Div_left(node);
-       ir_node         *right  = get_Div_right(node);
-       ir_node         *block  = get_nodes_block(node);
-       dbg_info        *dbgi   = get_irn_dbg_info(node);
-       ir_type         *mtp    = mode_is_signed(mode) ? binop_tp_s : binop_tp_u;
-       ir_mode         *opmode = get_irn_op_mode(node);
-       ir_node         *addr
-           = get_intrinsic_address(mtp, get_irn_op(node), opmode, opmode);
-       ir_node         *in[4];
-       ir_node         *call;
-       ir_node         *resproj;
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
+       ir_node  *left   = get_Div_left(node);
+       ir_node  *right  = get_Div_right(node);
+       ir_node  *block  = get_nodes_block(node);
+       dbg_info *dbgi   = get_irn_dbg_info(node);
+       ir_type  *mtp    = mode_is_signed(mode) ? binop_tp_s : binop_tp_u;
+       ir_mode  *opmode = get_irn_op_mode(node);
+       ir_node  *addr   = get_intrinsic_address(mtp, get_irn_op(node), opmode, opmode);
+       ir_node  *in[4];
+       ir_node  *call;
+       ir_node  *resproj;
 
        if (env->params->little_endian) {
                in[0] = get_lowered_low(left);
@@ -564,7 +556,7 @@ static void lower_Div(ir_node *node, ir_mode *mode)
        resproj = new_r_Proj(call, mode_T, pn_Call_T_result);
        set_irn_pinned(call, get_irn_pinned(node));
 
-       foreach_out_edge_safe(node, edge, next) {
+       foreach_out_edge_safe(node, edge) {
                ir_node *proj = get_edge_src_irn(edge);
                if (!is_Proj(proj))
                        continue;
@@ -610,19 +602,16 @@ static void lower_Div(ir_node *node, ir_mode *mode)
  */
 static void lower_Mod(ir_node *node, ir_mode *mode)
 {
-       ir_node         *left   = get_Mod_left(node);
-       ir_node         *right  = get_Mod_right(node);
-       dbg_info        *dbgi   = get_irn_dbg_info(node);
-       ir_node         *block  = get_nodes_block(node);
-       ir_type         *mtp    = mode_is_signed(mode) ? binop_tp_s : binop_tp_u;
-       ir_mode         *opmode = get_irn_op_mode(node);
-       ir_node         *addr
-           = get_intrinsic_address(mtp, get_irn_op(node), opmode, opmode);
-       ir_node         *in[4];
-       ir_node         *call;
-       ir_node         *resproj;
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
+       ir_node  *left   = get_Mod_left(node);
+       ir_node  *right  = get_Mod_right(node);
+       dbg_info *dbgi   = get_irn_dbg_info(node);
+       ir_node  *block  = get_nodes_block(node);
+       ir_type  *mtp    = mode_is_signed(mode) ? binop_tp_s : binop_tp_u;
+       ir_mode  *opmode = get_irn_op_mode(node);
+       ir_node  *addr   = get_intrinsic_address(mtp, get_irn_op(node), opmode, opmode);
+       ir_node  *in[4];
+       ir_node  *call;
+       ir_node  *resproj;
 
        if (env->params->little_endian) {
                in[0] = get_lowered_low(left);
@@ -639,7 +628,7 @@ static void lower_Mod(ir_node *node, ir_mode *mode)
        resproj = new_r_Proj(call, mode_T, pn_Call_T_result);
        set_irn_pinned(call, get_irn_pinned(node));
 
-       foreach_out_edge_safe(node, edge, next) {
+       foreach_out_edge_safe(node, edge) {
                ir_node *proj = get_edge_src_irn(edge);
                if (!is_Proj(proj))
                        continue;
@@ -742,7 +731,6 @@ static void move(ir_node *node, ir_node *from_bl, ir_node *to_bl)
 
        /* move its Projs */
        if (get_irn_mode(node) == mode_T) {
-               const ir_edge_t *edge;
                foreach_out_edge(node, edge) {
                        ir_node *proj = get_edge_src_irn(edge);
                        if (!is_Proj(proj))
@@ -790,8 +778,6 @@ static ir_node *part_block_dw(ir_node *node)
        int       n_cfgpreds = get_Block_n_cfgpreds(old_block);
        ir_node **cfgpreds   = get_Block_cfgpred_arr(old_block);
        ir_node  *new_block  = new_r_Block(irg, n_cfgpreds, cfgpreds);
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
 
        /* old_block has no predecessors anymore for now */
        set_irn_in(old_block, 0, NULL);
@@ -800,7 +786,7 @@ static ir_node *part_block_dw(ir_node *node)
        move(node, old_block, new_block);
 
        /* move Phi nodes to new_block */
-       foreach_out_edge_safe(old_block, edge, next) {
+       foreach_out_edge_safe(old_block, edge) {
                ir_node *phi = get_edge_src_irn(edge);
                if (!is_Phi(phi))
                        continue;
@@ -1282,8 +1268,6 @@ static void lower_Cond(ir_node *node, ir_mode *high_mode)
        ir_relation relation;
        ir_graph *irg;
        dbg_info *dbg;
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
 
        (void) high_mode;
 
@@ -1306,7 +1290,7 @@ static void lower_Cond(ir_node *node, ir_mode *high_mode)
        rentry = get_node_entry(right);
 
        /* all right, build the code */
-       foreach_out_edge_safe(node, edge, next) {
+       foreach_out_edge_safe(node, edge) {
                ir_node *proj    = get_edge_src_irn(edge);
                long     proj_nr;
                if (!is_Proj(proj))
@@ -1916,8 +1900,6 @@ static void lower_Start(ir_node *node, ir_mode *high_mode)
        ir_node   *args;
        long      *new_projs;
        size_t    i, j, n_params;
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
        (void) high_mode;
 
        /* if type link is NULL then the type was not lowered, hence no changes
@@ -1956,7 +1938,7 @@ static void lower_Start(ir_node *node, ir_mode *high_mode)
                return;
 
        /* fix all Proj's and create new ones */
-       foreach_out_edge_safe(args, edge, next) {
+       foreach_out_edge_safe(args, edge) {
                ir_node *proj   = get_edge_src_irn(edge);
                ir_mode *mode   = get_irn_mode(proj);
                ir_mode *mode_l = env->low_unsigned;
@@ -2012,8 +1994,6 @@ static void lower_Call(ir_node *node, ir_mode *mode)
        size_t   p;
        long     *res_numbers = NULL;
        ir_node  *resproj;
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
        (void) mode;
 
        n_params = get_method_n_params(tp);
@@ -2093,7 +2073,7 @@ static void lower_Call(ir_node *node, ir_mode *mode)
                return;
 
        /* fix the results */
-       foreach_out_edge_safe(resproj, edge, next) {
+       foreach_out_edge_safe(resproj, edge) {
                ir_node  *proj      = get_edge_src_irn(edge);
                ir_mode  *proj_mode = get_irn_mode(proj);
                ir_mode  *mode_l    = env->low_unsigned;
@@ -2304,8 +2284,6 @@ static void lower_ASM(ir_node *asmn, ir_mode *mode)
                ir_asm_constraint *new_outputs
                        = ALLOCAN(ir_asm_constraint, n_outs+n_64bit_outs);
                ir_node           *new_asm;
-               const ir_edge_t   *edge;
-               const ir_edge_t   *next;
 
                for (i = 0; i < n_outs; ++i) {
                        const ir_asm_constraint *constraint = &output_constraints[i];
@@ -2334,7 +2312,7 @@ static void lower_ASM(ir_node *asmn, ir_mode *mode)
                                     new_n_outs, new_outputs, n_clobber, clobbers,
                                     asm_text);
 
-               foreach_out_edge_safe(asmn, edge, next) {
+               foreach_out_edge_safe(asmn, edge) {
                        ir_node *proj      = get_edge_src_irn(edge);
                        ir_mode *proj_mode = get_irn_mode(proj);
                        long     pn;
@@ -2698,8 +2676,6 @@ static void lower_arithmetic_builtin(ir_node *builtin, ir_mode *mode)
        ir_node               *mem               = get_Builtin_mem(builtin);
        const lower64_entry_t *entry             = get_node_entry(operand);
        ir_mode               *mode_high         = get_irn_mode(entry->high_word);
-       const ir_edge_t       *edge;
-       const ir_edge_t       *next;
        ir_node               *res_high;
        ir_node               *res_low;
 
@@ -2725,7 +2701,7 @@ static void lower_arithmetic_builtin(ir_node *builtin, ir_mode *mode)
        }
 
        /* search result Proj */
-       foreach_out_edge_safe(builtin, edge, next) {
+       foreach_out_edge_safe(builtin, edge) {
                ir_node *proj = get_edge_src_irn(edge);
                if (!is_Proj(proj))
                        continue;
index e967f56..0620c69 100644 (file)
@@ -694,16 +694,14 @@ static void lower_Conv(ir_node *n)
  */
 static void lower_Div(ir_node *n)
 {
-       ir_node         *symconst;
-       ir_node         *block       = get_nodes_block(n);
-       ir_node         *call_result = NULL;
-       dbg_info        *dbgi        = get_irn_dbg_info(n);
-       ir_graph        *irg         = get_irn_irg(n);
-       ir_node         *left        = get_Div_left(n);
-       ir_mode         *mode        = get_Div_resmode(n);
-       ir_node         *right       = get_Div_right(n);
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
+       ir_node  *symconst;
+       ir_node  *block       = get_nodes_block(n);
+       ir_node  *call_result = NULL;
+       dbg_info *dbgi        = get_irn_dbg_info(n);
+       ir_graph *irg         = get_irn_irg(n);
+       ir_node  *left        = get_Div_left(n);
+       ir_mode  *mode        = get_Div_resmode(n);
+       ir_node  *right       = get_Div_right(n);
 
        if (! mode_is_float(mode))
                return;
@@ -723,7 +721,7 @@ static void lower_Div(ir_node *n)
 
        set_irn_pinned(call, get_irn_pinned(n));
 
-       foreach_out_edge_safe(n, edge, next) {
+       foreach_out_edge_safe(n, edge) {
                ir_node *proj = get_edge_src_irn(edge);
                if (! is_Proj(proj))
                        continue;
index 35c134c..cd3dfca 100644 (file)
@@ -789,7 +789,6 @@ static void queue_users(pdeq* const q, ir_node* const n)
                /* When the state of a control flow node changes, not only queue its
                 * successor blocks, but also the Phis in these blocks, because the Phis
                 * must reconsider this input path. */
-               ir_edge_t const* e;
                foreach_out_edge(n, e) {
                        ir_node*  const  src = get_edge_src_irn(e);
                        pdeq_putr(q, src);
@@ -801,7 +800,6 @@ static void queue_users(pdeq* const q, ir_node* const n)
                        }
                }
        } else {
-               ir_edge_t const* e;
                foreach_out_edge(n, e) {
                        ir_node* const src = get_edge_src_irn(e);
                        if (get_irn_mode(src) == mode_T) {
index 5f19c59..f5970ba 100644 (file)
@@ -705,8 +705,7 @@ static mtp_additional_properties update_property(mtp_additional_properties orig_
  */
 static bool is_stored(const ir_node *n)
 {
-       const ir_edge_t *edge;
-       const ir_node   *ptr;
+       const ir_node *ptr;
 
        foreach_out_edge(n, edge) {
                const ir_node *succ = get_edge_src_irn(edge);
index eeca132..b7f12d9 100644 (file)
@@ -149,8 +149,6 @@ static void construct_ssa(ir_node *orig_block, ir_node *orig_val,
 {
        ir_graph *irg;
        ir_mode *mode;
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
 
        /* no need to do anything */
        if (orig_val == second_val)
@@ -167,7 +165,7 @@ static void construct_ssa(ir_node *orig_block, ir_node *orig_val,
        ssa_second_def       = second_val;
 
        /* Only fix the users of the first, i.e. the original node */
-       foreach_out_edge_safe(orig_val, edge, next) {
+       foreach_out_edge_safe(orig_val, edge) {
                ir_node *user = get_edge_src_irn(edge);
                int j = get_edge_src_pos(edge);
                ir_node *user_block = get_nodes_block(user);
@@ -277,8 +275,6 @@ static ir_node *copy_and_fix_node(const jumpthreading_env_t *env,
 static void copy_and_fix(const jumpthreading_env_t *env, ir_node *block,
                          ir_node *copy_block, int j)
 {
-       const ir_edge_t *edge;
-
        /* Look at all nodes in the cond_block and copy them into pred */
        foreach_out_edge(block, edge) {
                ir_node *node = get_edge_src_irn(edge);
@@ -301,7 +297,6 @@ static void copy_and_fix(const jumpthreading_env_t *env, ir_node *block,
                 * mode_bs which can't be handled in all backends. Instead we duplicate
                 * the node and move it to its users */
                if (mode == mode_b) {
-                       const ir_edge_t *edge, *next;
                        ir_node *pred;
                        int      pn;
 
@@ -310,7 +305,7 @@ static void copy_and_fix(const jumpthreading_env_t *env, ir_node *block,
                        pred = get_Proj_pred(node);
                        pn   = get_Proj_proj(node);
 
-                       foreach_out_edge_safe(node, edge, next) {
+                       foreach_out_edge_safe(node, edge) {
                                ir_node *cmp_copy;
                                ir_node *user       = get_edge_src_irn(edge);
                                int pos             = get_edge_src_pos(edge);
@@ -639,7 +634,6 @@ static void thread_jumps(ir_node* block, void* data)
        ir_node *cond;
        ir_node *copy_block;
        int      selector_evaluated;
-       const ir_edge_t *edge, *next;
        ir_graph *irg;
        ir_node *badX;
        int      cnst_pos;
@@ -735,7 +729,7 @@ static void thread_jumps(ir_node* block, void* data)
        cnst_pos = env.cnst_pos;
 
        /* shorten Phis */
-       foreach_out_edge_safe(env.cnst_pred, edge, next) {
+       foreach_out_edge_safe(env.cnst_pred, edge) {
                ir_node *node = get_edge_src_irn(edge);
 
                if (is_Phi(node)) {
index cb8c068..2a4de53 100644 (file)
@@ -291,7 +291,6 @@ static void get_loop_info(ir_node *node, void *env)
 
                /* Find the loops head/the blocks with cfpred outside of the loop */
                if (is_Block(node)) {
-                       const ir_edge_t *edge;
                        unsigned outs_n = 0;
 
                        /* Count innerloop branches */
@@ -438,8 +437,6 @@ static void construct_ssa(ir_node *orig_block, ir_node *orig_val,
 {
        ir_graph *irg;
        ir_mode *mode;
-       const ir_edge_t *edge;
-       const ir_edge_t *next;
 
        assert(orig_block && orig_val && second_block && second_val &&
                        "no parameter of construct_ssa may be NULL");
@@ -460,7 +457,7 @@ static void construct_ssa(ir_node *orig_block, ir_node *orig_val,
        ssa_second_def       = second_val;
 
        /* Only fix the users of the first, i.e. the original node */
-       foreach_out_edge_safe(orig_val, edge, next) {
+       foreach_out_edge_safe(orig_val, edge) {
                ir_node *user = get_edge_src_irn(edge);
                int j = get_edge_src_pos(edge);
                ir_node *user_block = get_nodes_block(user);
@@ -930,7 +927,6 @@ static void get_head_outs(ir_node *node, void *env)
  */
 static void find_condition_chain(ir_node *block)
 {
-       const    ir_edge_t *edge;
        bool     mark     = false;
        bool     has_be   = false;
        bool     jmp_only = true;
index 53b5535..5035567 100644 (file)
@@ -613,8 +613,6 @@ static int check_users_for_reg_pressure(ir_node *iv, iv_env *env)
        scc        *pscc      = e->pscc;
 
        for (irn = pscc->head; irn != NULL; irn = e->next) {
-               const ir_edge_t *edge;
-
                foreach_out_edge(irn, edge) {
                        ir_node    *user = get_edge_src_irn(edge);
                        node_entry *ne = get_irn_ne(user, env);