[Mesa-dev] [PATCH 1/3] i965: Mark fields in the live interval classes protected.
Ian Romanick
idr at freedesktop.org
Mon Jun 30 10:32:27 PDT 2014
Patches 1 & 2 are
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
On 06/30/2014 10:11 AM, Matt Turner wrote:
> cfg, for instance, is a pointer to a local variable in
> calculate_live_intervals, certainly not valid after that function has
> returned.
> ---
> src/mesa/drivers/dri/i965/brw_fs_live_variables.h | 22 ++++++++++++----------
> .../drivers/dri/i965/brw_vec4_live_variables.h | 13 +++++++------
> 2 files changed, 19 insertions(+), 16 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_fs_live_variables.h b/src/mesa/drivers/dri/i965/brw_fs_live_variables.h
> index 82575d8..5a7dd27 100644
> --- a/src/mesa/drivers/dri/i965/brw_fs_live_variables.h
> +++ b/src/mesa/drivers/dri/i965/brw_fs_live_variables.h
> @@ -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 */
> diff --git a/src/mesa/drivers/dri/i965/brw_vec4_live_variables.h b/src/mesa/drivers/dri/i965/brw_vec4_live_variables.h
> index b2d8b33..03cc813 100644
> --- a/src/mesa/drivers/dri/i965/brw_vec4_live_variables.h
> +++ b/src/mesa/drivers/dri/i965/brw_vec4_live_variables.h
> @@ -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 */
>
More information about the mesa-dev
mailing list