Lines Matching full:nir
24 #include "nir.h"
43 static void sweep_cf_node(nir_shader *nir, nir_cf_node *cf_node);
46 sweep_block(nir_shader *nir, nir_block *block) in sweep_block() argument
48 ralloc_steal(nir, block); in sweep_block()
60 gc_mark_live(nir->gctx, instr); in sweep_block()
64 gc_mark_live(nir->gctx, nir_instr_as_tex(instr)->src); in sweep_block()
68 gc_mark_live(nir->gctx, src); in sweep_block()
77 sweep_if(nir_shader *nir, nir_if *iff) in sweep_if() argument
79 ralloc_steal(nir, iff); in sweep_if()
82 sweep_cf_node(nir, cf_node); in sweep_if()
86 sweep_cf_node(nir, cf_node); in sweep_if()
91 sweep_loop(nir_shader *nir, nir_loop *loop) in sweep_loop() argument
94 ralloc_steal(nir, loop); in sweep_loop()
97 sweep_cf_node(nir, cf_node); in sweep_loop()
102 sweep_cf_node(nir_shader *nir, nir_cf_node *cf_node) in sweep_cf_node() argument
106 sweep_block(nir, nir_cf_node_as_block(cf_node)); in sweep_cf_node()
109 sweep_if(nir, nir_cf_node_as_if(cf_node)); in sweep_cf_node()
112 sweep_loop(nir, nir_cf_node_as_loop(cf_node)); in sweep_cf_node()
120 sweep_impl(nir_shader *nir, nir_function_impl *impl) in sweep_impl() argument
122 ralloc_steal(nir, impl); in sweep_impl()
124 steal_list(nir, nir_variable, &impl->locals); in sweep_impl()
127 sweep_cf_node(nir, cf_node); in sweep_impl()
130 sweep_block(nir, impl->end_block); in sweep_impl()
137 sweep_function(nir_shader *nir, nir_function *f) in sweep_function() argument
139 ralloc_steal(nir, f); in sweep_function()
140 ralloc_steal(nir, f->params); in sweep_function()
143 sweep_impl(nir, f->impl); in sweep_function()
147 nir_sweep(nir_shader *nir) in nir_sweep() argument
155 ralloc_adopt(rubbish, nir); in nir_sweep()
158 gc_sweep_start(nir->gctx); in nir_sweep()
160 ralloc_steal(nir, nir->gctx); in nir_sweep()
161 ralloc_steal(nir, (char *)nir->info.name); in nir_sweep()
162 if (nir->info.label) in nir_sweep()
163 ralloc_steal(nir, (char *)nir->info.label); in nir_sweep()
166 steal_list(nir, nir_variable, &nir->variables); in nir_sweep()
169 foreach_list_typed(nir_function, func, node, &nir->functions) { in nir_sweep()
170 sweep_function(nir, func); in nir_sweep()
173 ralloc_steal(nir, nir->constant_data); in nir_sweep()
174 ralloc_steal(nir, nir->xfb_info); in nir_sweep()
175 ralloc_steal(nir, nir->printf_info); in nir_sweep()
176 for (int i = 0; i < nir->printf_info_count; i++) { in nir_sweep()
177 ralloc_steal(nir, nir->printf_info[i].arg_sizes); in nir_sweep()
178 ralloc_steal(nir, nir->printf_info[i].strings); in nir_sweep()
182 gc_sweep_end(nir->gctx); in nir_sweep()