Lines Matching refs:nir

24 #include "nir.h"
41 static void sweep_cf_node(nir_shader *nir, nir_cf_node *cf_node);
44 sweep_block(nir_shader *nir, nir_block *block)
46 ralloc_steal(nir, block);
59 list_add(&instr->gc_node, &nir->gc_list);
64 sweep_if(nir_shader *nir, nir_if *iff)
66 ralloc_steal(nir, iff);
69 sweep_cf_node(nir, cf_node);
73 sweep_cf_node(nir, cf_node);
78 sweep_loop(nir_shader *nir, nir_loop *loop)
80 ralloc_steal(nir, loop);
83 sweep_cf_node(nir, cf_node);
88 sweep_cf_node(nir_shader *nir, nir_cf_node *cf_node)
92 sweep_block(nir, nir_cf_node_as_block(cf_node));
95 sweep_if(nir, nir_cf_node_as_if(cf_node));
98 sweep_loop(nir, nir_cf_node_as_loop(cf_node));
106 sweep_impl(nir_shader *nir, nir_function_impl *impl)
108 ralloc_steal(nir, impl);
110 steal_list(nir, nir_variable, &impl->locals);
111 steal_list(nir, nir_register, &impl->registers);
114 sweep_cf_node(nir, cf_node);
117 sweep_block(nir, impl->end_block);
124 sweep_function(nir_shader *nir, nir_function *f)
126 ralloc_steal(nir, f);
127 ralloc_steal(nir, f->params);
130 sweep_impl(nir, f->impl);
134 nir_sweep(nir_shader *nir)
141 list_replace(&nir->gc_list, &instr_gc_list);
142 list_inithead(&nir->gc_list);
145 ralloc_adopt(rubbish, nir);
147 ralloc_steal(nir, (char *)nir->info.name);
148 if (nir->info.label)
149 ralloc_steal(nir, (char *)nir->info.label);
152 steal_list(nir, nir_variable, &nir->variables);
155 foreach_list_typed(nir_function, func, node, &nir->functions) {
156 sweep_function(nir, func);
165 ralloc_steal(nir, nir->constant_data);
166 ralloc_steal(nir, nir->xfb_info);
167 ralloc_steal(nir, nir->printf_info);
168 for (int i = 0; i < nir->printf_info_count; i++) {
169 ralloc_steal(nir, nir->printf_info[i].arg_sizes);
170 ralloc_steal(nir, nir->printf_info[i].strings);