i965: Mark fields in the live interval classes protected.
cfg, for instance, is a pointer to a local variable in calculate_live_intervals, certainly not valid after that function has returned. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
021094481c
commit
ec1b2d6aa0
|
@ -60,19 +60,9 @@ public:
|
||||||
fs_live_variables(fs_visitor *v, cfg_t *cfg);
|
fs_live_variables(fs_visitor *v, cfg_t *cfg);
|
||||||
~fs_live_variables();
|
~fs_live_variables();
|
||||||
|
|
||||||
void setup_def_use();
|
|
||||||
void setup_one_read(bblock_t *block, fs_inst *inst, int ip, fs_reg reg);
|
|
||||||
void setup_one_write(bblock_t *block, fs_inst *inst, int ip, fs_reg reg);
|
|
||||||
void compute_live_variables();
|
|
||||||
void compute_start_end();
|
|
||||||
|
|
||||||
bool vars_interfere(int a, int b);
|
bool vars_interfere(int a, int b);
|
||||||
int var_from_reg(fs_reg *reg);
|
int var_from_reg(fs_reg *reg);
|
||||||
|
|
||||||
fs_visitor *v;
|
|
||||||
cfg_t *cfg;
|
|
||||||
void *mem_ctx;
|
|
||||||
|
|
||||||
/** Map from virtual GRF number to index in block_data arrays. */
|
/** Map from virtual GRF number to index in block_data arrays. */
|
||||||
int *var_from_vgrf;
|
int *var_from_vgrf;
|
||||||
|
|
||||||
|
@ -98,6 +88,18 @@ public:
|
||||||
|
|
||||||
/** Per-basic-block information on live variables */
|
/** Per-basic-block information on live variables */
|
||||||
struct block_data *bd;
|
struct block_data *bd;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void setup_def_use();
|
||||||
|
void setup_one_read(bblock_t *block, fs_inst *inst, int ip, fs_reg reg);
|
||||||
|
void setup_one_write(bblock_t *block, fs_inst *inst, int ip, fs_reg reg);
|
||||||
|
void compute_live_variables();
|
||||||
|
void compute_start_end();
|
||||||
|
|
||||||
|
fs_visitor *v;
|
||||||
|
cfg_t *cfg;
|
||||||
|
void *mem_ctx;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} /* namespace brw */
|
} /* namespace brw */
|
||||||
|
|
|
@ -58,18 +58,19 @@ public:
|
||||||
vec4_live_variables(vec4_visitor *v, cfg_t *cfg);
|
vec4_live_variables(vec4_visitor *v, cfg_t *cfg);
|
||||||
~vec4_live_variables();
|
~vec4_live_variables();
|
||||||
|
|
||||||
|
int num_vars;
|
||||||
|
int bitset_words;
|
||||||
|
|
||||||
|
/** Per-basic-block information on live variables */
|
||||||
|
struct block_data *bd;
|
||||||
|
|
||||||
|
protected:
|
||||||
void setup_def_use();
|
void setup_def_use();
|
||||||
void compute_live_variables();
|
void compute_live_variables();
|
||||||
|
|
||||||
vec4_visitor *v;
|
vec4_visitor *v;
|
||||||
cfg_t *cfg;
|
cfg_t *cfg;
|
||||||
void *mem_ctx;
|
void *mem_ctx;
|
||||||
|
|
||||||
int num_vars;
|
|
||||||
int bitset_words;
|
|
||||||
|
|
||||||
/** Per-basic-block information on live variables */
|
|
||||||
struct block_data *bd;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} /* namespace brw */
|
} /* namespace brw */
|
||||||
|
|
Loading…
Reference in New Issue