1 // 2 // Copyright 2024 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 // PruneInfiniteLoops.h: Attempts to remove infinite loops, used with WebGL contexts. 7 8 #ifndef COMPILER_TRANSLATOR_TREEOPS_PRUNEINFINITELOOPS_H_ 9 #define COMPILER_TRANSLATOR_TREEOPS_PRUNEINFINITELOOPS_H_ 10 11 #include "common/angleutils.h" 12 13 namespace sh 14 { 15 class TCompiler; 16 class TIntermBlock; 17 class TSymbolTable; 18 19 [[nodiscard]] bool PruneInfiniteLoops(TCompiler *compiler, 20 TIntermBlock *root, 21 TSymbolTable *symbolTable, 22 bool *anyLoopsPruned); 23 } // namespace sh 24 25 #endif // COMPILER_TRANSLATOR_TREEOPS_PRUNEINFINITELOOPS_H_ 26