summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/CFLGraph.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Analysis/CFLGraph.h')
-rw-r--r--llvm/lib/Analysis/CFLGraph.h55
1 files changed, 40 insertions, 15 deletions
diff --git a/llvm/lib/Analysis/CFLGraph.h b/llvm/lib/Analysis/CFLGraph.h
index 95874b88244..e4e92864061 100644
--- a/llvm/lib/Analysis/CFLGraph.h
+++ b/llvm/lib/Analysis/CFLGraph.h
@@ -1,4 +1,4 @@
-//======- CFLGraph.h - Abstract stratified sets implementation. --------======//
+//===- CFLGraph.h - Abstract stratified sets implementation. -----*- C++-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -6,19 +6,42 @@
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
+//
/// \file
/// This file defines CFLGraph, an auxiliary data structure used by CFL-based
/// alias analysis.
-///
+//
//===----------------------------------------------------------------------===//
-#ifndef LLVM_ANALYSIS_CFLGRAPH_H
-#define LLVM_ANALYSIS_CFLGRAPH_H
+#ifndef LLVM_LIB_ANALYSIS_CFLGRAPH_H
+#define LLVM_LIB_ANALYSIS_CFLGRAPH_H
#include "AliasAnalysisSummary.h"
+#include "llvm/ADT/APInt.h"
+#include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/iterator_range.h"
#include "llvm/Analysis/MemoryBuiltins.h"
+#include "llvm/Analysis/TargetLibraryInfo.h"
+#include "llvm/IR/Argument.h"
+#include "llvm/IR/BasicBlock.h"
+#include "llvm/IR/CallSite.h"
+#include "llvm/IR/Constants.h"
+#include "llvm/IR/DataLayout.h"
+#include "llvm/IR/Function.h"
+#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/InstVisitor.h"
+#include "llvm/IR/InstrTypes.h"
+#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
+#include "llvm/IR/Operator.h"
+#include "llvm/IR/Type.h"
+#include "llvm/IR/Value.h"
+#include "llvm/Support/Casting.h"
+#include "llvm/Support/ErrorHandling.h"
+#include <cassert>
+#include <cstdint>
+#include <vector>
namespace llvm {
namespace cflaa {
@@ -35,14 +58,14 @@ namespace cflaa {
/// I+1) and a reference edge to (X, I-1).
class CFLGraph {
public:
- typedef InstantiatedValue Node;
+ using Node = InstantiatedValue;
struct Edge {
Node Other;
int64_t Offset;
};
- typedef std::vector<Edge> EdgeList;
+ using EdgeList = std::vector<Edge>;
struct NodeInfo {
EdgeList Edges, ReverseEdges;
@@ -74,7 +97,8 @@ public:
};
private:
- typedef DenseMap<Value *, ValueInfo> ValueMap;
+ using ValueMap = DenseMap<Value *, ValueInfo>;
+
ValueMap ValueImpls;
NodeInfo *getNode(Node N) {
@@ -85,7 +109,7 @@ private:
}
public:
- typedef ValueMap::const_iterator const_value_iterator;
+ using const_value_iterator = ValueMap::const_iterator;
bool addNode(Node N, AliasAttrs Attr = AliasAttrs()) {
assert(N.Val != nullptr);
@@ -496,10 +520,10 @@ template <typename CFLAA> class CFLGraphBuilder {
addNode(Ptr, getAttrEscaped());
break;
}
- case Instruction::IntToPtr: {
+ case Instruction::IntToPtr:
addNode(CE, getAttrUnknown());
break;
- }
+
case Instruction::BitCast:
case Instruction::AddrSpaceCast:
case Instruction::Trunc:
@@ -571,11 +595,11 @@ template <typename CFLAA> class CFLGraphBuilder {
case Instruction::LShr:
case Instruction::AShr:
case Instruction::ICmp:
- case Instruction::FCmp: {
+ case Instruction::FCmp:
addAssignEdge(CE->getOperand(0), CE);
addAssignEdge(CE->getOperand(1), CE);
break;
- }
+
default:
llvm_unreachable("Unknown instruction type encountered!");
}
@@ -640,7 +664,8 @@ public:
return ReturnedValues;
}
};
-}
-}
-#endif
+} // end namespace cflaa
+} // end namespace llvm
+
+#endif // LLVM_LIB_ANALYSIS_CFLGRAPH_H
OpenPOWER on IntegriCloud