#include "ir_visitor.h"
#include "glsl_types.h"
-class variable_entry : public exec_node
+class ir_variable_refcount_entry : public exec_node
{
public:
- variable_entry(ir_variable *var)
- {
- this->var = var;
- assign = NULL;
- referenced_count = 0;
- assigned_count = 0;
- declaration = false;
- }
+ ir_variable_refcount_entry(ir_variable *var);
ir_variable *var; /* The key: the variable's pointer. */
ir_assignment *assign; /* An assignment to the variable, if any */
public:
ir_variable_refcount_visitor(void)
{
- this->mem_ctx = talloc_new(NULL);
+ this->mem_ctx = ralloc_context(NULL);
this->variable_list.make_empty();
}
~ir_variable_refcount_visitor(void)
{
- this->mem_ctx = talloc_new(NULL);
+ ralloc_free(this->mem_ctx);
}
virtual ir_visitor_status visit(ir_variable *);
virtual ir_visitor_status visit_enter(ir_function_signature *);
virtual ir_visitor_status visit_leave(ir_assignment *);
- variable_entry *get_variable_entry(ir_variable *var);
+ ir_variable_refcount_entry *get_variable_entry(ir_variable *var);
- /* List of variable_entry */
+ /* List of ir_variable_refcount_entry */
exec_list variable_list;
void *mem_ctx;