blob: 367487d4b1085fd5f1d66d801508339d4bf351df [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 Etuaho68981eb2018-01-23 17:46:12 +020021 TSymbolTable *symbolTable);
Jamie Madill45bcc782016-11-07 13:58:48 -050022} // namespace sh
Olli Etuaho3cbb27a2016-07-14 11:55:48 +030023
24#endif // COMPILER_TRANSLATOR_SIMPLIFYLOOPCONDITIONS_H_