From 6295949a13f269ad7691aa34e2e8bfbdec86cccd Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Tue, 10 May 2011 19:09:58 +0200 Subject: [PATCH] lower_dw: add support for Bad nodes --- ir/lower/lower_dw.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ir/lower/lower_dw.c b/ir/lower/lower_dw.c index 7a748a544..94c3f376b 100644 --- a/ir/lower/lower_dw.c +++ b/ir/lower/lower_dw.c @@ -1810,6 +1810,18 @@ static void lower_Unknown(ir_node *node, ir_mode *mode, lower_env_t *env) set_lowered(env, node, res_low, res_high); } +/** + * Translate a Bad into two. + */ +static void lower_Bad(ir_node *node, ir_mode *mode, lower_env_t *env) +{ + ir_mode *low_mode = env->low_unsigned; + ir_graph *irg = get_irn_irg(node); + ir_node *res_low = new_r_Bad(irg, low_mode); + ir_node *res_high = new_r_Bad(irg, mode); + set_lowered(env, node, res_low, res_high); +} + /** * Translate a Phi. * @@ -2416,6 +2428,7 @@ void lower_dw_ops(const lwrdw_param_t *param) enter_lower_func(op_ASM, lower_ASM); enter_lower_func(op_Add, lower_binop); enter_lower_func(op_And, lower_And); + enter_lower_func(op_Bad, lower_Bad); enter_lower_func(op_Call, lower_Call); enter_lower_func(op_Cmp, lower_Cmp); enter_lower_func(op_Cond, lower_Cond); -- 2.20.1