clang
23.0.0git
include
clang
ScalableStaticAnalysisFramework
Analyses
PointerFlow
PointerFlowAnalysis.h
Go to the documentation of this file.
1
//===- PointerFlowAnalysis.h ------------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// Defines PointerFlowAnalysisResult, the whole-program analysis result type
10
// for PointerFlowAnalysis.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_ANALYSES_POINTERFLOW_POINTERFLOWANALYSIS_H
15
#define LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_ANALYSES_POINTERFLOW_POINTERFLOWANALYSIS_H
16
17
#include "
clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.h
"
18
#include "
clang/ScalableStaticAnalysisFramework/Core/Model/EntityId.h
"
19
#include "
clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisName.h
"
20
#include "
clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisResult.h
"
21
#include "llvm/ADT/StringRef.h"
22
#include <map>
23
24
namespace
clang::ssaf
{
25
26
inline
constexpr
llvm::StringLiteral
PointerFlowAnalysisResultName
=
27
"PointerFlowAnalysisResult"
;
28
29
struct
PointerFlowAnalysisResult
final :
AnalysisResult
{
30
static
AnalysisName
analysisName
() {
31
return
AnalysisName
(
PointerFlowAnalysisResultName
.str());
32
}
33
34
/// Whole-program map from EntityIds to their EdgeSets.
35
std::map<EntityId, EdgeSet>
Edges
;
36
};
37
38
}
// namespace clang::ssaf
39
40
#endif
// LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_ANALYSES_POINTERFLOW_POINTERFLOWANALYSIS_H
AnalysisName.h
AnalysisResult.h
EntityId.h
PointerFlow.h
clang::ssaf::AnalysisName
Uniquely identifies a whole-program analysis and the AnalysisResult it produces.
Definition
AnalysisName.h:28
clang::ssaf::AnalysisResult
Base class for whole-program analysis results.
Definition
AnalysisResult.h:23
clang::ssaf
Definition
CallGraphSummary.h:17
clang::ssaf::PointerFlowAnalysisResultName
constexpr llvm::StringLiteral PointerFlowAnalysisResultName
Definition
PointerFlowAnalysis.h:26
clang::ssaf::PointerFlowAnalysisResult
Definition
PointerFlowAnalysis.h:29
clang::ssaf::PointerFlowAnalysisResult::Edges
std::map< EntityId, EdgeSet > Edges
Whole-program map from EntityIds to their EdgeSets.
Definition
PointerFlowAnalysis.h:35
clang::ssaf::PointerFlowAnalysisResult::analysisName
static AnalysisName analysisName()
Definition
PointerFlowAnalysis.h:30
Generated on
for clang by
1.14.0