i965: Fix a "discards 'const' qualifier" warning.
[mesa.git] / src / mesa / drivers / dri / i965 / brw_fs_live_variables.h
index e22743915416160aa8b57ecfaa16fbc6f352200e..82575d8287f71d77c124fe7aa94a3ab66a6237d1 100644 (file)
@@ -28,6 +28,8 @@
 #include "brw_fs.h"
 #include "main/bitset.h"
 
+class cfg_t;
+
 namespace brw {
 
 struct block_data {
@@ -59,15 +61,41 @@ public:
    ~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;
+
+   /**
+    * Map from any index in block_data to the virtual GRF containing it.
+    *
+    * For virtual_grf_sizes of [1, 2, 3], vgrf_from_var would contain
+    * [0, 1, 1, 2, 2, 2].
+    */
+   int *vgrf_from_var;
+
    int num_vars;
+   int num_vgrfs;
    int bitset_words;
 
+   /** @{
+    * Final computed live ranges for each var (each component of each virtual
+    * GRF).
+    */
+   int *start;
+   int *end;
+   /** @} */
+
    /** Per-basic-block information on live variables */
    struct block_data *bd;
 };