i965/fs: Add support for translating ir_triop_fma into MAD.
[mesa.git] / src / mesa / drivers / dri / i965 / brw_fs_live_variables.h
index 17e75531523b3ee8f81c8260aa3fb3710a7f80e8..1cde5f46798946a05b8916bf38d144f59919cee8 100644 (file)
@@ -26,6 +26,7 @@
  */
 
 #include "brw_fs.h"
+#include "main/bitset.h"
 
 namespace brw {
 
@@ -36,18 +37,18 @@ struct block_data {
     * Note that for our purposes, "defined" means unconditionally, completely
     * defined.
     */
-   bool *def;
+   BITSET_WORD *def;
 
    /**
     * Which variables are used before being defined in the block.
     */
-   bool *use;
+   BITSET_WORD *use;
 
    /** Which defs reach the entry point of the block. */
-   bool *livein;
+   BITSET_WORD *livein;
 
    /** Which defs reach the exit point of the block. */
-   bool *liveout;
+   BITSET_WORD *liveout;
 };
 
 class fs_live_variables {
@@ -62,22 +63,18 @@ public:
       return node;
    }
 
-   fs_live_variables(fs_visitor *v, fs_cfg *cfg);
+   fs_live_variables(fs_visitor *v, cfg_t *cfg);
    ~fs_live_variables();
 
    void setup_def_use();
    void compute_live_variables();
 
    fs_visitor *v;
-   fs_cfg *cfg;
+   cfg_t *cfg;
    void *mem_ctx;
 
-   struct var {
-      int blocknum;
-      int instnum;
-      fs_inst *inst;
-   } *vars;
    int num_vars;
+   int bitset_words;
 
    /** Per-basic-block information on live variables */
    struct block_data *bd;