From 86d5d8ba6ea26eaf87bf12b4b5e326505f76b422 Mon Sep 17 00:00:00 2001 From: John van Groningen Date: Mon, 10 Jan 2005 11:59:49 +0000 Subject: fix 4 byte alignment after replacing jmp with a compare, branch and jump to next block, and then remove the latter jump --- cgopt.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cgopt.c b/cgopt.c index 11f4d2e..5ef71ce 100644 --- a/cgopt.c +++ b/cgopt.c @@ -307,6 +307,9 @@ void optimize_jumps (void) branch->instruction_icode=old_branch_instruction->instruction_icode; branch->instruction_parameters[0]=old_branch_instruction->instruction_parameters[0]; + if (block->block_next->block_begin_module) + block->block_next->block_link_module=1; + optimize_branch_jump (branch,new_jmp_label); } else { new_branch_instruction=(struct instruction*)fast_memory_allocate (sizeof (struct instruction)+sizeof (struct parameter)); @@ -361,6 +364,9 @@ void optimize_jumps (void) branch->instruction_icode=old_branch_instruction->instruction_icode; branch->instruction_parameters[0]=old_branch_instruction->instruction_parameters[0]; + if (block->block_next->block_begin_module) + block->block_next->block_link_module=1; + optimize_branch_jump (branch,new_jmp_label); new_cmp_instruction->instruction_next=branch; -- cgit v1.2.3