diff options
author | John van Groningen | 2005-01-10 11:59:49 +0000 |
---|---|---|
committer | John van Groningen | 2005-01-10 11:59:49 +0000 |
commit | 86d5d8ba6ea26eaf87bf12b4b5e326505f76b422 (patch) | |
tree | 1ffa668e35516e940da877ead4de667890cfaed8 | |
parent | remove some unused code (diff) |
fix 4 byte alignment after replacing jmp with a compare, branch and jump to
next block, and then remove the latter jump
-rw-r--r-- | cgopt.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -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; |