Add ir_call call to represent function calls.
diff --git a/ir.h b/ir.h
index 7de7c38..136b45b 100644
--- a/ir.h
+++ b/ir.h
@@ -39,7 +39,8 @@
    ir_op_label,
    ir_op_constant,
    ir_op_func_sig,
-   ir_op_func
+   ir_op_func,
+   ir_op_call,
 };
 
 /**
@@ -277,6 +278,33 @@
 };
 
 
+/**
+ * IR instruction representing a function call
+ */
+class ir_call : public ir_instruction {
+public:
+   ir_call()
+      : ir_instruction(ir_op_call), callee(NULL)
+   {
+      /* empty */
+   }
+
+   virtual void accept(ir_visitor *v)
+   {
+      v->visit(this);
+   }
+
+   /**
+    * Get a generic ir_call object when an error occurs
+    */
+   static ir_call *get_error_instruction();
+
+private:
+   ir_function_signature *callee;
+   exec_list actual_parameters;
+};
+
+
 struct ir_swizzle_mask {
    unsigned x:2;
    unsigned y:2;