blob: d8f95cd2c8afc37fab69618f03eab0f8aa6ef98d [file] [log] [blame]
Olli Etuaho3cbb27a2016-07-14 11:55:48 +03001//
2// Copyright (c) 2016 The ANGLE Project Authors. All rights reserved.
3// Use of this source code is governed by a BSD-style license that can be
4// found in the LICENSE file.
5//
6// SimplifyLoopConditions is an AST traverser that converts loop conditions and loop expressions
7// to regular statements inside the loop. This way further transformations that generate statements
8// from loop conditions and loop expressions work correctly.
9//
10
11#ifndef COMPILER_TRANSLATOR_SIMPLIFYLOOPCONDITIONS_H_
12#define COMPILER_TRANSLATOR_SIMPLIFYLOOPCONDITIONS_H_
13
Jamie Madill45bcc782016-11-07 13:58:48 -050014namespace sh
15{
Olli Etuaho3cbb27a2016-07-14 11:55:48 +030016class TIntermNode;
17class TSymbolTable;
18
19void SimplifyLoopConditions(TIntermNode *root,
20 unsigned int conditionsToSimplify,
Olli Etuahoa5e693a2017-07-13 16:07:26 +030021 TSymbolTable *symbolTable,
Olli Etuaho3cbb27a2016-07-14 11:55:48 +030022 int shaderVersion);
Jamie Madill45bcc782016-11-07 13:58:48 -050023} // namespace sh
Olli Etuaho3cbb27a2016-07-14 11:55:48 +030024
25#endif // COMPILER_TRANSLATOR_SIMPLIFYLOOPCONDITIONS_H_