|
|
|||
File indexing completed on 2026-05-10 08:37:08
0001 //===--- LoopWidening.h - Widen loops ---------------------------*- C++ -*-===// 0002 // 0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 0004 // See https://llvm.org/LICENSE.txt for license information. 0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 0006 // 0007 //===----------------------------------------------------------------------===// 0008 /// \file 0009 /// This header contains the declarations of functions which are used to widen 0010 /// loops which do not otherwise exit. The widening is done by invalidating 0011 /// anything which might be modified by the body of the loop. 0012 /// 0013 //===----------------------------------------------------------------------===// 0014 0015 #ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_LOOPWIDENING_H 0016 #define LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_LOOPWIDENING_H 0017 0018 #include "clang/Analysis/CFG.h" 0019 #include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h" 0020 0021 namespace clang { 0022 namespace ento { 0023 0024 /// Get the states that result from widening the loop. 0025 /// 0026 /// Widen the loop by invalidating anything that might be modified 0027 /// by the loop body in any iteration. 0028 ProgramStateRef getWidenedLoopState(ProgramStateRef PrevState, 0029 const LocationContext *LCtx, 0030 unsigned BlockCount, const Stmt *LoopStmt); 0031 0032 } // end namespace ento 0033 } // end namespace clang 0034 0035 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|