]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/optimize.h
Remove expression statements without side effects
[libs/gl.git] / source / glsl / optimize.h
index eae90399542d3130ba38e08c24d87f6f13a7ff50..1c044fb47f0ea5e9da9efdda39a75f5fbccfee58 100644 (file)
@@ -124,6 +124,7 @@ private:
        Assignment *assignment;
        bool assignment_target;
        bool assign_to_subscript;
+       bool side_effects;
 
 public:
        UnusedVariableRemover();
@@ -134,10 +135,12 @@ private:
        virtual void visit(VariableReference &);
        virtual void visit(InterfaceBlockReference &);
        virtual void visit(MemberAccess &);
+       virtual void visit(UnaryExpression &);
        virtual void visit(BinaryExpression &);
        virtual void visit(Assignment &);
        void record_assignment(VariableDeclaration &, Node &, bool);
        void clear_assignments(VariableInfo &, bool);
+       virtual void visit(FunctionCall &);
        virtual void visit(ExpressionStatement &);
        virtual void visit(StructDeclaration &);
        virtual void visit(VariableDeclaration &);