glsl: Remove ir_call::get_callee() and set_callee().
Previously, set_callee() performed some assertions about the type of the ir_call; protecting the bare pointer ensured these checks would be run. However, ir_call no longer has a type, so the getter and setter methods don't actually do anything useful. Remove them in favor of accessing callee directly, as is done with most other fields in our IR. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
@@ -1467,11 +1467,6 @@ ir_rvalue::error_value(void *mem_ctx)
|
||||
return v;
|
||||
}
|
||||
|
||||
void
|
||||
ir_call::set_callee(ir_function_signature *sig)
|
||||
{
|
||||
this->callee = sig;
|
||||
}
|
||||
|
||||
void
|
||||
visit_exec_list(exec_list *list, ir_visitor *visitor)
|
||||
|
@@ -1071,19 +1071,6 @@ public:
|
||||
return callee->function_name();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the function signature bound to this function call
|
||||
*/
|
||||
ir_function_signature *get_callee()
|
||||
{
|
||||
return callee;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the function call target
|
||||
*/
|
||||
void set_callee(ir_function_signature *sig);
|
||||
|
||||
/**
|
||||
* Generates an inline version of the function before @ir,
|
||||
* storing the return value in return_deref.
|
||||
@@ -1096,14 +1083,16 @@ public:
|
||||
*/
|
||||
ir_dereference_variable *return_deref;
|
||||
|
||||
/**
|
||||
* The specific function signature being called.
|
||||
*/
|
||||
ir_function_signature *callee;
|
||||
|
||||
/* List of ir_rvalue of paramaters passed in this call. */
|
||||
exec_list actual_parameters;
|
||||
|
||||
/** Should this call only bind to a built-in function? */
|
||||
bool use_builtin;
|
||||
|
||||
private:
|
||||
ir_function_signature *callee;
|
||||
};
|
||||
|
||||
|
||||
|
@@ -398,9 +398,9 @@ public:
|
||||
* table. If it is found, replace it with the value from the table.
|
||||
*/
|
||||
ir_function_signature *sig =
|
||||
(ir_function_signature *) hash_table_find(this->ht, ir->get_callee());
|
||||
(ir_function_signature *) hash_table_find(this->ht, ir->callee);
|
||||
if (sig != NULL)
|
||||
ir->set_callee(sig);
|
||||
ir->callee = sig;
|
||||
|
||||
/* Since this may be used before function call parameters are flattened,
|
||||
* the children also need to be processed.
|
||||
|
@@ -59,7 +59,7 @@ bool
|
||||
can_inline(ir_call *call)
|
||||
{
|
||||
ir_function_can_inline_visitor v;
|
||||
const ir_function_signature *callee = call->get_callee();
|
||||
const ir_function_signature *callee = call->callee;
|
||||
if (!callee->is_defined)
|
||||
return false;
|
||||
|
||||
|
@@ -217,7 +217,7 @@ public:
|
||||
if (this->current == NULL)
|
||||
return visit_continue;
|
||||
|
||||
function *const target = this->get_function(call->get_callee());
|
||||
function *const target = this->get_function(call->callee);
|
||||
|
||||
/* Create a link from the caller to the callee.
|
||||
*/
|
||||
|
@@ -541,7 +541,7 @@ ir_validate::visit_enter(ir_assignment *ir)
|
||||
ir_visitor_status
|
||||
ir_validate::visit_enter(ir_call *ir)
|
||||
{
|
||||
ir_function_signature *const callee = ir->get_callee();
|
||||
ir_function_signature *const callee = ir->callee;
|
||||
|
||||
if (callee->ir_type != ir_type_function_signature) {
|
||||
printf("IR called by ir_call is not ir_function_signature!\n");
|
||||
|
@@ -68,7 +68,7 @@ public:
|
||||
* Doing so will modify the original shader. This may prevent that
|
||||
* shader from being linkable in other programs.
|
||||
*/
|
||||
const ir_function_signature *const callee = ir->get_callee();
|
||||
const ir_function_signature *const callee = ir->callee;
|
||||
assert(callee != NULL);
|
||||
const char *const name = callee->function_name();
|
||||
|
||||
@@ -79,7 +79,7 @@ public:
|
||||
find_matching_signature(name, &callee->parameters, &linked, 1,
|
||||
ir->use_builtin);
|
||||
if (sig != NULL) {
|
||||
ir->set_callee(sig);
|
||||
ir->callee = sig;
|
||||
return visit_continue;
|
||||
}
|
||||
|
||||
@@ -168,7 +168,7 @@ public:
|
||||
*/
|
||||
linked_sig->accept(this);
|
||||
|
||||
ir->set_callee(linked_sig);
|
||||
ir->callee = linked_sig;
|
||||
|
||||
return visit_continue;
|
||||
}
|
||||
|
@@ -101,7 +101,7 @@ public:
|
||||
|
||||
virtual ir_visitor_status visit_enter(ir_call *ir)
|
||||
{
|
||||
exec_list_iterator sig_iter = ir->get_callee()->parameters.iterator();
|
||||
exec_list_iterator sig_iter = ir->callee->parameters.iterator();
|
||||
foreach_iter(exec_list_iterator, iter, *ir) {
|
||||
ir_rvalue *param_rval = (ir_rvalue *)iter.get();
|
||||
ir_variable *sig_param = (ir_variable *)sig_iter.get();
|
||||
|
@@ -276,7 +276,7 @@ lower_clip_distance_visitor::visit_leave(ir_call *ir)
|
||||
{
|
||||
void *ctx = ralloc_parent(ir);
|
||||
|
||||
const exec_node *formal_param_node = ir->get_callee()->parameters.head;
|
||||
const exec_node *formal_param_node = ir->callee->parameters.head;
|
||||
const exec_node *actual_param_node = ir->actual_parameters.head;
|
||||
while (!actual_param_node->is_tail_sentinel()) {
|
||||
ir_variable *formal_param = (ir_variable *) formal_param_node;
|
||||
|
@@ -118,7 +118,7 @@ ir_visitor_status
|
||||
ir_constant_folding_visitor::visit_enter(ir_call *ir)
|
||||
{
|
||||
/* Attempt to constant fold parameters */
|
||||
exec_list_iterator sig_iter = ir->get_callee()->parameters.iterator();
|
||||
exec_list_iterator sig_iter = ir->callee->parameters.iterator();
|
||||
foreach_iter(exec_list_iterator, iter, *ir) {
|
||||
ir_rvalue *param_rval = (ir_rvalue *)iter.get();
|
||||
ir_variable *sig_param = (ir_variable *)sig_iter.get();
|
||||
|
@@ -259,7 +259,7 @@ ir_visitor_status
|
||||
ir_constant_propagation_visitor::visit_enter(ir_call *ir)
|
||||
{
|
||||
/* Do constant propagation on call parameters, but skip any out params */
|
||||
exec_list_iterator sig_param_iter = ir->get_callee()->parameters.iterator();
|
||||
exec_list_iterator sig_param_iter = ir->callee->parameters.iterator();
|
||||
foreach_iter(exec_list_iterator, iter, ir->actual_parameters) {
|
||||
ir_variable *sig_param = (ir_variable *)sig_param_iter.get();
|
||||
ir_rvalue *param = (ir_rvalue *)iter.get();
|
||||
|
@@ -128,7 +128,7 @@ ir_visitor_status
|
||||
ir_constant_variable_visitor::visit_enter(ir_call *ir)
|
||||
{
|
||||
/* Mark any out parameters as assigned to */
|
||||
exec_list_iterator sig_iter = ir->get_callee()->parameters.iterator();
|
||||
exec_list_iterator sig_iter = ir->callee->parameters.iterator();
|
||||
foreach_iter(exec_list_iterator, iter, *ir) {
|
||||
ir_rvalue *param_rval = (ir_rvalue *)iter.get();
|
||||
ir_variable *param = (ir_variable *)sig_iter.get();
|
||||
|
@@ -181,7 +181,7 @@ ir_visitor_status
|
||||
ir_copy_propagation_visitor::visit_enter(ir_call *ir)
|
||||
{
|
||||
/* Do copy propagation on call parameters, but skip any out params */
|
||||
exec_list_iterator sig_param_iter = ir->get_callee()->parameters.iterator();
|
||||
exec_list_iterator sig_param_iter = ir->callee->parameters.iterator();
|
||||
foreach_iter(exec_list_iterator, iter, ir->actual_parameters) {
|
||||
ir_variable *sig_param = (ir_variable *)sig_param_iter.get();
|
||||
ir_instruction *ir = (ir_instruction *)iter.get();
|
||||
|
@@ -288,7 +288,7 @@ ir_visitor_status
|
||||
ir_copy_propagation_elements_visitor::visit_enter(ir_call *ir)
|
||||
{
|
||||
/* Do copy propagation on call parameters, but skip any out params */
|
||||
exec_list_iterator sig_param_iter = ir->get_callee()->parameters.iterator();
|
||||
exec_list_iterator sig_param_iter = ir->callee->parameters.iterator();
|
||||
foreach_iter(exec_list_iterator, iter, ir->actual_parameters) {
|
||||
ir_variable *sig_param = (ir_variable *)sig_param_iter.get();
|
||||
ir_instruction *ir = (ir_instruction *)iter.get();
|
||||
|
@@ -103,7 +103,7 @@ ir_dead_functions_visitor::visit_enter(ir_function_signature *ir)
|
||||
ir_visitor_status
|
||||
ir_dead_functions_visitor::visit_enter(ir_call *ir)
|
||||
{
|
||||
signature_entry *entry = this->get_signature_entry(ir->get_callee());
|
||||
signature_entry *entry = this->get_signature_entry(ir->callee);
|
||||
|
||||
entry->used = true;
|
||||
|
||||
|
@@ -202,7 +202,7 @@ ir_tree_grafting_visitor::visit_enter(ir_function_signature *ir)
|
||||
ir_visitor_status
|
||||
ir_tree_grafting_visitor::visit_enter(ir_call *ir)
|
||||
{
|
||||
exec_list_iterator sig_iter = ir->get_callee()->parameters.iterator();
|
||||
exec_list_iterator sig_iter = ir->callee->parameters.iterator();
|
||||
/* Reminder: iterating ir_call iterates its parameters. */
|
||||
foreach_iter(exec_list_iterator, iter, *ir) {
|
||||
ir_variable *sig_param = (ir_variable *)sig_iter.get();
|
||||
|
@@ -2002,7 +2002,7 @@ void
|
||||
ir_to_mesa_visitor::visit(ir_call *ir)
|
||||
{
|
||||
ir_to_mesa_instruction *call_inst;
|
||||
ir_function_signature *sig = ir->get_callee();
|
||||
ir_function_signature *sig = ir->callee;
|
||||
function_entry *entry = get_function_signature(sig);
|
||||
int i;
|
||||
|
||||
|
@@ -2439,7 +2439,7 @@ void
|
||||
glsl_to_tgsi_visitor::visit(ir_call *ir)
|
||||
{
|
||||
glsl_to_tgsi_instruction *call_inst;
|
||||
ir_function_signature *sig = ir->get_callee();
|
||||
ir_function_signature *sig = ir->callee;
|
||||
function_entry *entry = get_function_signature(sig);
|
||||
int i;
|
||||
|
||||
|
Reference in New Issue
Block a user