diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2010-03-11 14:34:27 -0800 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-03-11 14:35:37 -0800 |
commit | ed45ec6a515f3529f12fc23d51621e435d3b6cdf (patch) | |
tree | fb93422ea1e1d075709d29340c414fbdb740061d /ir.h | |
parent | d27ec2461bca2625d09a3592ec8cc4137d4347f3 (diff) |
Add ir_call call to represent function calls.
Diffstat (limited to 'ir.h')
-rw-r--r-- | ir.h | 30 |
1 files changed, 29 insertions, 1 deletions
@@ -39,7 +39,8 @@ enum ir_opcodes { ir_op_label, ir_op_constant, ir_op_func_sig, - ir_op_func + ir_op_func, + ir_op_call, }; /** @@ -277,6 +278,33 @@ public: }; +/** + * 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; |