[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