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:
Matt Turner 2014-06-28 19:52:04 -07:00
parent 021094481c
commit ec1b2d6aa0
2 changed files with 19 additions and 16 deletions

View File

@ -60,19 +60,9 @@ public:
fs_live_variables(fs_visitor *v, cfg_t *cfg);
~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);
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. */
int *var_from_vgrf;
@ -98,6 +88,18 @@ public:
/** Per-basic-block information on live variables */
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 */

View File

@ -58,18 +58,19 @@ public:
vec4_live_variables(vec4_visitor *v, cfg_t *cfg);
~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 compute_live_variables();
vec4_visitor *v;
cfg_t *cfg;
void *mem_ctx;
int num_vars;
int bitset_words;
/** Per-basic-block information on live variables */
struct block_data *bd;
};
} /* namespace brw */