From b4dd155b23dc74ed640135782592c8b1b46b9d83 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Mon, 5 Dec 2016 09:50:20 +0000 Subject: Fix: compute_extreme_stack_offsets really needs a register int... --- cgopt.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/cgopt.c b/cgopt.c index 48f9950..977a543 100644 --- a/cgopt.c +++ b/cgopt.c @@ -705,7 +705,7 @@ static void optimize_b_stack_access2 (struct instruction *instruction) } # endif -static void compute_extreme_stack_offsets (int *b_offset,int *min_a_offset) +static void compute_extreme_stack_offsets (register int b_offset,int *min_a_offset) { struct instruction *instruction; @@ -755,9 +755,9 @@ static void compute_extreme_stack_offsets (int *b_offset,int *min_a_offset) if (instruction->instruction_parameters[0].parameter_type==P_INDIRECT && instruction->instruction_parameters[0].parameter_data.reg.r==B_STACK_POINTER) { - instruction->instruction_parameters[0].parameter_data.reg.u=*b_offset; - if (instruction->instruction_parameters[0].parameter_offset<*b_offset) - *b_offset=instruction->instruction_parameters[0].parameter_offset; + instruction->instruction_parameters[0].parameter_data.reg.u=b_offset; + if (instruction->instruction_parameters[0].parameter_offsetinstruction_parameters[0].parameter_offset; } else if (instruction->instruction_parameters[0].parameter_type==P_INDIRECT && instruction->instruction_parameters[0].parameter_data.reg.r==A_STACK_POINTER) @@ -770,9 +770,9 @@ static void compute_extreme_stack_offsets (int *b_offset,int *min_a_offset) if (instruction->instruction_parameters[0].parameter_type==P_INDIRECT && instruction->instruction_parameters[0].parameter_data.reg.r==B_STACK_POINTER) { - instruction->instruction_parameters[0].parameter_data.reg.u=*b_offset; - if (instruction->instruction_parameters[0].parameter_offset<*b_offset) - *b_offset=instruction->instruction_parameters[0].parameter_offset; + instruction->instruction_parameters[0].parameter_data.reg.u=b_offset; + if (instruction->instruction_parameters[0].parameter_offsetinstruction_parameters[0].parameter_offset; } else if (instruction->instruction_parameters[0].parameter_type==P_INDIRECT && instruction->instruction_parameters[0].parameter_data.reg.r==A_STACK_POINTER) @@ -783,9 +783,9 @@ static void compute_extreme_stack_offsets (int *b_offset,int *min_a_offset) if (instruction->instruction_parameters[1].parameter_type==P_INDIRECT && instruction->instruction_parameters[1].parameter_data.reg.r==B_STACK_POINTER) { - instruction->instruction_parameters[1].parameter_data.reg.u=*b_offset; - if (instruction->instruction_parameters[1].parameter_offset<*b_offset) - *b_offset=instruction->instruction_parameters[1].parameter_offset; + instruction->instruction_parameters[1].parameter_data.reg.u=b_offset; + if (instruction->instruction_parameters[1].parameter_offsetinstruction_parameters[1].parameter_offset; } else if (instruction->instruction_parameters[1].parameter_type==P_INDIRECT && instruction->instruction_parameters[1].parameter_data.reg.r==A_STACK_POINTER) @@ -823,7 +823,7 @@ void optimize_stack_access (struct basic_block *block,int *a_offset_p,int *b_off ) { struct instruction *instruction; - int min_a_offset; + int min_a_offset=0; # ifdef M68000 a_offset=0; -- cgit v1.2.3