projects
/
libfirm
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a441c75
)
lower_mode_b: handle BadB
author
Matthias Braun
<matze@braunis.de>
Fri, 16 Sep 2011 17:19:04 +0000
(19:19 +0200)
committer
Matthias Braun
<matze@braunis.de>
Tue, 20 Sep 2011 07:34:26 +0000
(09:34 +0200)
ir/lower/lower_mode_b.c
patch
|
blob
|
history
diff --git
a/ir/lower/lower_mode_b.c
b/ir/lower/lower_mode_b.c
index
36c87c6
..
1949be0
100644
(file)
--- a/
ir/lower/lower_mode_b.c
+++ b/
ir/lower/lower_mode_b.c
@@
-140,7
+140,7
@@
static ir_node *lower_node(ir_node *node)
for (i = 0; i < arity; ++i) {
ir_node *in = get_irn_n(node, i);
for (i = 0; i < arity; ++i) {
ir_node *in = get_irn_n(node, i);
- ir_node *lowered_in =
is_Bad(in) ? in :
lower_node(in);
+ ir_node *lowered_in = lower_node(in);
set_irn_n(new_phi, i, lowered_in);
}
set_irn_n(new_phi, i, lowered_in);
}
@@
-268,6
+268,10
@@
synth_zero_one:
res = new_r_Unknown(irg, mode);
break;
res = new_r_Unknown(irg, mode);
break;
+ case iro_Bad:
+ res = new_r_Bad(irg, mode);
+ break;
+
default:
panic("Don't know how to lower mode_b node %+F", node);
}
default:
panic("Don't know how to lower mode_b node %+F", node);
}
@@
-297,7
+301,7
@@
static void collect_needs_lowering(ir_node *node, void *env)
if (get_irn_mode(node) == mode_b) {
assert(is_And(node) || is_Or(node) || is_Eor(node) || is_Phi(node)
|| is_Not(node) || is_Mux(node) || is_Cmp(node)
if (get_irn_mode(node) == mode_b) {
assert(is_And(node) || is_Or(node) || is_Eor(node) || is_Phi(node)
|| is_Not(node) || is_Mux(node) || is_Cmp(node)
- || is_Const(node) || is_Unknown(node));
+ || is_Const(node) || is_Unknown(node)
|| is_Bad(node)
);
return;
}
return;
}