CACAO
|
Go to the source code of this file.
Data Structures | |
struct | _list |
struct | _backedge |
struct | lifetime |
struct | l_loop |
struct | b_loop |
struct | stackslot |
struct | lsra_register |
struct | lsra_reg |
struct | _sbr |
struct | lsradata |
struct | freemem |
Macros | |
#define | LSRA_DEBUG_CHECK |
#define | LSRA_DEBUG_VERBOSE |
#define | _LSRA_CHECK_BOUNDS(i, l, h) |
#define | _LSRA_ASSERT(a) |
#define | JOIN_DUP_STACK /* join "identical" stackslots created by dup* */ |
#define | USAGE_COUNT /* influence LSRA with usagecount */ |
#define | USEAGE_COUNT_EXACT /* search all active lifetimes and regard */ |
#define | USAGE_PER_INSTR /* divide usagecount by lifetimelength */ |
#define | LSRA_BB_IN 3 |
#define | LSRA_BB_OUT 2 |
#define | LSRA_STORE 1 |
#define | LSRA_LOAD 0 |
#define | LSRA_POP -1 |
#define | JOIN 0 /* joins that are not in any way dangerous */ |
#define | JOIN_BB 1 /* join Stackslots over Basic Block Boundaries */ |
#define | JOIN_DUP 2 /* join of two possibly concurring lifeteimes through DUP* */ |
#define | JOIN_OP 4 /* join of src operand with dst operand on i386 and x86_64 */ |
#define | JOINING 8 /* set while joining for DUP or OP to prevent assignement */ |
#define | min(a, b) ((a)<(b)?(a):(b)) |
#define | max(a, b) ((a)<(b)?(b):(a)) |
Typedefs | |
typedef struct lsradata | lsradata |
Functions | |
bool | lsra (jitdata *jd) |
#define JOIN 0 /* joins that are not in any way dangerous */ |
#define JOIN_BB 1 /* join Stackslots over Basic Block Boundaries */ |
#define JOIN_DUP 2 /* join of two possibly concurring lifeteimes through DUP* */ |
#define JOIN_DUP_STACK /* join "identical" stackslots created by dup* */ |
#define JOIN_OP 4 /* join of src operand with dst operand on i386 and x86_64 */ |
#define USAGE_PER_INSTR /* divide usagecount by lifetimelength */ |
#define USEAGE_COUNT_EXACT /* search all active lifetimes and regard */ |