glsl: Remove ir_call::get_callee() and set_callee().
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 21 Sep 2011 01:08:11 +0000 (18:08 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 2 Apr 2012 21:15:43 +0000 (14:15 -0700)
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>
18 files changed:
src/glsl/ir.cpp
src/glsl/ir.h
src/glsl/ir_clone.cpp
src/glsl/ir_function_can_inline.cpp
src/glsl/ir_function_detect_recursion.cpp
src/glsl/ir_validate.cpp
src/glsl/link_functions.cpp
src/glsl/linker.cpp
src/glsl/lower_clip_distance.cpp
src/glsl/opt_constant_folding.cpp
src/glsl/opt_constant_propagation.cpp
src/glsl/opt_constant_variable.cpp
src/glsl/opt_copy_propagation.cpp
src/glsl/opt_copy_propagation_elements.cpp
src/glsl/opt_dead_functions.cpp
src/glsl/opt_tree_grafting.cpp
src/mesa/program/ir_to_mesa.cpp
src/mesa/state_tracker/st_glsl_to_tgsi.cpp

index 3595e742f785352e69890938bb4de96f02dceb92..1ba87515ea7024061b3a6905f7f95a7286bd8a20 100644 (file)
@@ -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)
index 054e2acaadb432e441fbd12f212f0c97bcb1b102..6adfaa38e066d89519b67cb00d0cf86bd832a776 100644 (file)
@@ -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;
 };
 
 
index 8a9701c94966cdb2147f6edad607eaced98bddc5..26b0d8f5f3f40798d87f52b37fb72617c3fb9e39 100644 (file)
@@ -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.
index c367c30e44f37a7453481784d1f96b370ea2047a..7b15d5df178de0306fcc0afad6b395395d7b66be 100644 (file)
@@ -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;
 
index 890bc455f440253e676b90aff339d32ca6d61fb0..0a5e647cd8875c159abc7ff9e6487f1d50b1720a 100644 (file)
@@ -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.
        */
index 66dd84f73f34028abeb4f77987389064a0f0a0fe..a7c82010b18879be7f8ce4cbb59fe33df360bf59 100644 (file)
@@ -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");
index acee327124980eda25912ef7cd720a83d0009ba3..6b3e154488aef5e53d10466bb5bc7f48f3aaa9ed 100644 (file)
@@ -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;
    }
index d56eb97e45ae798f588b9710de2ebad70443efd7..49b6b8f4a5e84ece80fa5fcb3c3ec7e074e6ad9e 100644 (file)
@@ -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();
index 143e378f97bc937f49a8121e5d813783c506afeb..0316914714f2939f5b5522775bcd3bc6bac960d6 100644 (file)
@@ -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;
index db8cd5cee6d920a83cc2b143bb4d57f9bdc4dc52..dcad59997f1aaf698cf35bda1bec3010912acd93 100644 (file)
@@ -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();
index af77e4906896173ce421e8491a176d82c8cc05e1..d3812637df0f38eba5e3f3e8b5ac73494283d772 100644 (file)
@@ -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();
index 18c28018234c16ce47c2c3eab32a30156583bba5..f3bc8675efd2a5b5350029d0189ffc6a68f4d2ae 100644 (file)
@@ -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();
index efa3afda35aefe40f19e45bc8fe208b499aee1bc..923619db45a4ce22abd19127f98f473a45b06277 100644 (file)
@@ -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();
index ebfd4fd3fe1365758ac6243c7945d62b32365f93..314db4e187ff7d74f8fed2d5b56fb3d6c2c4e071 100644 (file)
@@ -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();
index 51c77e3b9476150562ee21b8cfe177cdc0a9aee0..017a28639b8cd50d3d9bb0c41d2f85f119ea3e07 100644 (file)
@@ -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;
 
index e70a2240fca6ae98f2b06c8245e30dc4bd5a1715..d86eab80e504698a50c9b26a7a557f325c8e2da1 100644 (file)
@@ -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();
index 6a90d5ad7e8f99f1b9e74e7efb81fd7428680f58..697313fc36ea74c072edebe09938d2cd587d82e1 100644 (file)
@@ -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;
 
index b0227855c6738d8c37b75db0ae4605d752611540..6745554211b46566ad0ec8e8ead648923add51bb 100644 (file)
@@ -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;