ir_dead_functions_visitor()
{
this->mem_ctx = ralloc_context(NULL);
+ this->seen_another_function_signature = false;
}
~ir_dead_functions_visitor()
bool (*predicate)(ir_instruction *ir);
+ bool seen_another_function_signature;
+
/* List of signature_entry */
exec_list signature_list;
void *mem_ctx;
entry->used = true;
}
-
+ /* If this is the first signature to look at, no need to descend to see
+ * if it has calls to another function signature.
+ */
+ if (!this->seen_another_function_signature) {
+ this->seen_another_function_signature = true;
+ return visit_continue_with_parent;
+ }
return visit_continue;
}