Add new abstract ir_rvalue class; rework accordingly.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
diff --git a/ast_function.cpp b/ast_function.cpp
index 7082ed3..f774a2f 100644
--- a/ast_function.cpp
+++ b/ast_function.cpp
@@ -27,7 +27,7 @@
 #include "glsl_types.h"
 #include "ir.h"
 
-static ir_instruction *
+static ir_rvalue *
 match_function_by_name(exec_list *instructions, const char *name,
 		       YYLTYPE *loc, simple_node *parameters,
 		       struct _mesa_glsl_parse_state *state)
@@ -78,7 +78,7 @@
 }
 
 
-ir_instruction *
+ir_rvalue *
 ast_function_expression::hir(exec_list *instructions,
 			     struct _mesa_glsl_parse_state *state)
 {