summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cgopt.c6
1 files changed, 6 insertions, 0 deletions
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;