diff options
author | Eric Anholt <eric@anholt.net> | 2010-05-05 11:45:30 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-05-05 11:47:33 -0700 |
commit | bdd9b1f3ffa2a195d983816adfeca20480256119 (patch) | |
tree | 09cfda2b66313b75f58c37d4d45c5f4404c14421 /ir_function_inlining.cpp | |
parent | 6255a1f4c6425aa311c90e9dc7fca41c34e8dc2b (diff) |
Move optimization pass prototypes to a single header.
Diffstat (limited to 'ir_function_inlining.cpp')
-rw-r--r-- | ir_function_inlining.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/ir_function_inlining.cpp b/ir_function_inlining.cpp index 0d072c1b76..09604c04df 100644 --- a/ir_function_inlining.cpp +++ b/ir_function_inlining.cpp @@ -34,6 +34,42 @@ #include "ir_expression_flattening.h" #include "glsl_types.h" +class ir_function_inlining_visitor : public ir_visitor { +public: + ir_function_inlining_visitor() + { + /* empty */ + } + + virtual ~ir_function_inlining_visitor() + { + /* empty */ + } + + /** + * \name Visit methods + * + * As typical for the visitor pattern, there must be one \c visit method for + * each concrete subclass of \c ir_instruction. Virtual base classes within + * the hierarchy should not have \c visit methods. + */ + /*@{*/ + virtual void visit(ir_variable *); + virtual void visit(ir_loop *); + virtual void visit(ir_loop_jump *); + virtual void visit(ir_function_signature *); + virtual void visit(ir_function *); + virtual void visit(ir_expression *); + virtual void visit(ir_swizzle *); + virtual void visit(ir_dereference *); + virtual void visit(ir_assignment *); + virtual void visit(ir_constant *); + virtual void visit(ir_call *); + virtual void visit(ir_return *); + virtual void visit(ir_if *); + /*@}*/ +}; + class variable_remap : public exec_node { public: variable_remap(const ir_variable *old_var, ir_variable *new_var) |