projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
nir/dead_cf: delete code that's unreachable due to jumps
[mesa.git]
/
src
/
glsl
/
opt_dead_functions.cpp
diff --git
a/src/glsl/opt_dead_functions.cpp
b/src/glsl/opt_dead_functions.cpp
index f503493957beed7e15d204d31afb11a9c7c0ad8f..5dff165215a34b3819e05804f8672a3153a48c32 100644
(file)
--- 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"
#include "ir_expression_flattening.h"
#include "glsl_types.h"
+namespace {
+
class signature_entry : public exec_node
{
public:
class signature_entry : public exec_node
{
public:
@@
-67,12
+69,12
@@
public:
void *mem_ctx;
};
void *mem_ctx;
};
+} /* unnamed namespace */
signature_entry *
ir_dead_functions_visitor::get_signature_entry(ir_function_signature *sig)
{
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;
}
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.
*/
* 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;
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.
*/
/* 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()) {
ir_function *func = ir->as_function();
if (func && func->signatures.is_empty()) {