X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglsl%2Fopt_dead_functions.cpp;h=5dff165215a34b3819e05804f8672a3153a48c32;hb=f649afc9ddabfc70a5f9861e6daa2cb996461f45;hp=f503493957beed7e15d204d31afb11a9c7c0ad8f;hpb=e372aa69494469d6c43c315b5c39355dece65dcf;p=mesa.git diff --git a/src/glsl/opt_dead_functions.cpp b/src/glsl/opt_dead_functions.cpp index f503493957b..5dff165215a 100644 --- a/src/glsl/opt_dead_functions.cpp +++ b/src/glsl/opt_dead_functions.cpp @@ -32,6 +32,8 @@ #include "ir_expression_flattening.h" #include "glsl_types.h" +namespace { + class signature_entry : public exec_node { public: @@ -67,12 +69,12 @@ public: void *mem_ctx; }; +} /* unnamed namespace */ signature_entry * ir_dead_functions_visitor::get_signature_entry(ir_function_signature *sig) { - foreach_iter(exec_list_iterator, iter, this->signature_list) { - signature_entry *entry = (signature_entry *)iter.get(); + foreach_in_list(signature_entry, entry, &this->signature_list) { if (entry->signature == sig) return entry; } @@ -120,9 +122,7 @@ do_dead_functions(exec_list *instructions) * the unused ones, and remove function definitions that have no more * signatures. */ - foreach_iter(exec_list_iterator, iter, v.signature_list) { - signature_entry *entry = (signature_entry *)iter.get(); - + foreach_in_list_safe(signature_entry, entry, &v.signature_list) { if (!entry->used) { entry->signature->remove(); delete entry->signature; @@ -134,8 +134,7 @@ do_dead_functions(exec_list *instructions) /* We don't just do this above when we nuked a signature because of * const pointers. */ - foreach_iter(exec_list_iterator, iter, *instructions) { - ir_instruction *ir = (ir_instruction *)iter.get(); + foreach_in_list_safe(ir_instruction, ir, instructions) { ir_function *func = ir->as_function(); if (func && func->signatures.is_empty()) {