summaryrefslogtreecommitdiffhomepage
path: root/ir/be/beinfo.c
diff options
context:
space:
mode:
authorChristoph Mallon <mallon@cs.uni-saarland.de>2015-07-27 20:05:50 +0200
committerChristoph Mallon <mallon@cs.uni-saarland.de>2015-07-27 21:15:40 +0200
commit77aece395066b768051cb726ba5e6cc3a2e01342 (patch)
treeb7cc5049ed79aafde7f4a57e72ab7a6884b2bbb5 /ir/be/beinfo.c
parent48a984ffcc3e9fb554636efc62234acb651e5915 (diff)
be: Do not set both arch_irn_flag_not_scheduled and arch_irn_flag_schedule_first on new nodes.
Diffstat (limited to 'ir/be/beinfo.c')
-rw-r--r--ir/be/beinfo.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/ir/be/beinfo.c b/ir/be/beinfo.c
index dc976eb..8e5bf20 100644
--- a/ir/be/beinfo.c
+++ b/ir/be/beinfo.c
@@ -50,6 +50,7 @@ void be_info_new_node(ir_graph *irg, ir_node *node)
* Set backend info for some middleend nodes which still appear in
* backend graphs
*/
+ arch_irn_flags_t flags = arch_irn_flag_not_scheduled;
switch (get_irn_opcode(node)) {
case iro_Block:
case iro_Dummy:
@@ -60,16 +61,17 @@ void be_info_new_node(ir_graph *irg, ir_node *node)
case iro_Bad:
case iro_End:
case iro_Unknown:
- info->flags |= arch_irn_flag_not_scheduled;
- /* FALLTHROUGH */
+ break;
case iro_Phi:
- info->out_infos = NEW_ARR_DZ(reg_out_info_t, obst, 1);
- info->out_infos[0].req = arch_no_register_req;
- info->flags |= arch_irn_flag_schedule_first;
+ flags = arch_irn_flag_schedule_first;
break;
default:
- break;
+ return;
}
+
+ info->flags = flags;
+ info->out_infos = NEW_ARR_DZ(reg_out_info_t, obst, 1);
+ info->out_infos[0].req = arch_no_register_req;
}
static void new_phi_copy_attr(ir_graph *irg, const ir_node *old_node,