From 6ab4332938647a7098231cd3eb836a80ae97ac4d Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Mon, 25 Feb 2008 16:14:20 +0000 Subject: [PATCH] BugFix: - ensure that elem_size has the right mode when doing pointer div Opt: - use new DivRL() [r18904] --- ast2firm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ast2firm.c b/ast2firm.c index c8cf896..c8b4e72 100644 --- a/ast2firm.c +++ b/ast2firm.c @@ -2097,10 +2097,11 @@ static ir_node *create_sub(const binary_expression_t *expression) ir_node *const elem_size = get_type_size(ptr_type->points_to); ir_mode *const mode = get_ir_mode(type); + ir_node *const conv_size = new_d_Conv(dbgi, elem_size, mode); ir_node *const sub = new_d_Sub(dbgi, left, right, mode); ir_node *const no_mem = new_NoMem(); - ir_node *const div = new_d_Div(dbgi, no_mem, sub, elem_size, mode, - op_pin_state_floats); + ir_node *const div = new_d_DivRL(dbgi, no_mem, sub, conv_size, mode, + op_pin_state_floats); return new_d_Proj(dbgi, div, mode, pn_Div_res); } -- 2.20.1