i965: Mark fields in the live interval classes protected.
authorMatt Turner <mattst88@gmail.com>
Sun, 29 Jun 2014 02:52:04 +0000 (19:52 -0700)
committerMatt Turner <mattst88@gmail.com>
Tue, 1 Jul 2014 15:55:52 +0000 (08:55 -0700)
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>
src/mesa/drivers/dri/i965/brw_fs_live_variables.h
src/mesa/drivers/dri/i965/brw_vec4_live_variables.h

index 82575d8287f71d77c124fe7aa94a3ab66a6237d1..5a7dd279b3cd68f5c3f588a8989514ac11bfe0aa 100644 (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 */
index b2d8b339822fc10b3cc72ac99e04f4e5ba6dc56c..03cc813782e83e75ca0262a8b6c2a3ccbe3d738e 100644 (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 */