clang
3.9.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
llvm.src
tools
clang
include
clang
StaticAnalyzer
Core
PathSensitive
LoopWidening.h
Go to the documentation of this file.
1
//===--- LoopWidening.h - Widen loops ---------------------------*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
///
10
/// This header contains the declarations of functions which are used to widen
11
/// loops which do not otherwise exit. The widening is done by invalidating
12
/// anything which might be modified by the body of the loop.
13
///
14
//===----------------------------------------------------------------------===//
15
16
#ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_LOOPWIDENING_H
17
#define LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_LOOPWIDENING_H
18
19
#include "
clang/Analysis/CFG.h
"
20
#include "
clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
"
21
22
namespace
clang {
23
namespace
ento {
24
25
/// \brief Get the states that result from widening the loop.
26
///
27
/// Widen the loop by invalidating anything that might be modified
28
/// by the loop body in any iteration.
29
ProgramStateRef
getWidenedLoopState
(
ProgramStateRef
PrevState,
30
const
LocationContext *LCtx,
31
unsigned
BlockCount,
const
Stmt
*LoopStmt);
32
33
}
// end namespace ento
34
}
// end namespace clang
35
36
#endif
clang::ento::ProgramStateRef
IntrusiveRefCntPtr< const ProgramState > ProgramStateRef
Definition:
ProgramState_Fwd.h:38
Stmt
ProgramState.h
clang::ento::getWidenedLoopState
ProgramStateRef getWidenedLoopState(ProgramStateRef PrevState, const LocationContext *LCtx, unsigned BlockCount, const Stmt *LoopStmt)
Get the states that result from widening the loop.
Definition:
LoopWidening.cpp:39
CFG.h
Generated on Wed Aug 31 2016 16:58:06 for clang by
1.8.6