diff options
Diffstat (limited to 'chromium/third_party/angle/src/compiler/ForLoopUnroll.h')
-rw-r--r-- | chromium/third_party/angle/src/compiler/ForLoopUnroll.h | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/chromium/third_party/angle/src/compiler/ForLoopUnroll.h b/chromium/third_party/angle/src/compiler/ForLoopUnroll.h deleted file mode 100644 index 738b76925e4..00000000000 --- a/chromium/third_party/angle/src/compiler/ForLoopUnroll.h +++ /dev/null @@ -1,52 +0,0 @@ -// -// Copyright (c) 2011 The ANGLE Project Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// - -#ifndef COMPILER_FORLOOPUNROLL_H_ -#define COMPILER_FORLOOPUNROLL_H_ - -#include "compiler/intermediate.h" - -struct TLoopIndexInfo { - int id; - int initValue; - int stopValue; - int incrementValue; - TOperator op; - int currentValue; -}; - -class ForLoopUnroll { -public: - ForLoopUnroll() { } - - void FillLoopIndexInfo(TIntermLoop* node, TLoopIndexInfo& info); - - // Update the info.currentValue for the next loop iteration. - void Step(); - - // Return false if loop condition is no longer satisfied. - bool SatisfiesLoopCondition(); - - // Check if the symbol is the index of a loop that's unrolled. - bool NeedsToReplaceSymbolWithValue(TIntermSymbol* symbol); - - // Return the current value of a given loop index symbol. - int GetLoopIndexValue(TIntermSymbol* symbol); - - void Push(TLoopIndexInfo& info); - void Pop(); - - static void MarkForLoopsWithIntegerIndicesForUnrolling(TIntermNode* root); - -private: - int getLoopIncrement(TIntermLoop* node); - - int evaluateIntConstant(TIntermConstantUnion* node); - - TVector<TLoopIndexInfo> mLoopIndexStack; -}; - -#endif |