Added basic loop unrolling. Blocks that end in a JMP, LOOP or conditional branch to a previous instruction in the block will be unrolled up to 10 times.
This commit is contained in:
parent
b35cf7de09
commit
7e099c277e
9 changed files with 594 additions and 148 deletions
|
|
@ -4,6 +4,7 @@
|
|||
#include "codegen_ir_defs.h"
|
||||
#include "codegen_reg.h"
|
||||
|
||||
int max_version_refcount;
|
||||
uint16_t reg_dead_list = 0;
|
||||
|
||||
uint8_t reg_last_version[IREG_COUNT];
|
||||
|
|
@ -249,11 +250,7 @@ void codegen_reg_reset()
|
|||
}
|
||||
|
||||
reg_dead_list = 0;
|
||||
}
|
||||
|
||||
static inline int ir_reg_is_invalid(ir_reg_t ir_reg)
|
||||
{
|
||||
return (IREG_GET_REG(ir_reg.reg) == IREG_INVALID);
|
||||
max_version_refcount = 0;
|
||||
}
|
||||
|
||||
static inline int ir_get_refcount(ir_reg_t ir_reg)
|
||||
|
|
|
|||
Loading…
Reference in a new issue