summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
diff options
context:
space:
mode:
authorGeorge Karpenkov <ekarpenkov@apple.com>2018-02-12 22:39:57 +0000
committerGeorge Karpenkov <ekarpenkov@apple.com>2018-02-12 22:39:57 +0000
commit1235a63df528def66205b746d8947a9b02008f8b (patch)
tree0d4bd9027db61d7de793f2fadd5bb52b94f0e233 /clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
parent095d72989d88467b674ec9282a28405a2aa4c729 (diff)
downloadbcm5719-llvm-1235a63df528def66205b746d8947a9b02008f8b.tar.gz
bcm5719-llvm-1235a63df528def66205b746d8947a9b02008f8b.zip
[analyzer] Exploration strategy prioritizing unexplored coverage first
See reviews.llvm.org/M1 for evaluation, and lists.llvm.org/pipermail/cfe-dev/2018-January/056718.html for discussion. Differential Revision: https://reviews.llvm.org/D42775 llvm-svn: 324956
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp27
1 files changed, 15 insertions, 12 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp b/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
index 0f07c54e398..aa3c2953d81 100644
--- a/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
+++ b/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
@@ -58,22 +58,25 @@ AnalyzerOptions::UserModeKind AnalyzerOptions::getUserMode() {
AnalyzerOptions::ExplorationStrategyKind
AnalyzerOptions::getExplorationStrategy() {
if (ExplorationStrategy == ExplorationStrategyKind::NotSet) {
- StringRef StratStr = Config.insert(
- std::make_pair("exploration_strategy", "dfs")).first->second;
- ExplorationStrategy = llvm::StringSwitch<ExplorationStrategyKind>(StratStr)
- .Case("dfs", ExplorationStrategyKind::DFS)
- .Case("bfs", ExplorationStrategyKind::BFS)
- .Case("bfs_block_dfs_contents", ExplorationStrategyKind::BFSBlockDFSContents)
- .Default(ExplorationStrategyKind::NotSet);
- assert(ExplorationStrategy != ExplorationStrategyKind::NotSet
- && "User mode is invalid.");
+ StringRef StratStr =
+ Config
+ .insert(std::make_pair("exploration_strategy", "dfs"))
+ .first->second;
+ ExplorationStrategy =
+ llvm::StringSwitch<ExplorationStrategyKind>(StratStr)
+ .Case("dfs", ExplorationStrategyKind::DFS)
+ .Case("bfs", ExplorationStrategyKind::BFS)
+ .Case("unexplored_first",
+ ExplorationStrategyKind::UnexploredFirst)
+ .Case("bfs_block_dfs_contents",
+ ExplorationStrategyKind::BFSBlockDFSContents)
+ .Default(ExplorationStrategyKind::NotSet);
+ assert(ExplorationStrategy != ExplorationStrategyKind::NotSet &&
+ "User mode is invalid.");
}
return ExplorationStrategy;
-
}
-
-
IPAKind AnalyzerOptions::getIPAMode() {
if (IPAMode == IPAK_NotSet) {
OpenPOWER on IntegriCloud