parent
f2a8ba4cf0
commit
cfa414fe9e
|
@ -7,10 +7,7 @@
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// This file defines an analysis that determines, for a given memory operation,
|
// This file defines the MemoryDependenceAnalysis analysis pass.
|
||||||
// what preceding memory operations it depends on. It builds on alias analysis
|
|
||||||
// information, and tries to provide a lazy, caching interface to a common kind
|
|
||||||
// of alias information query.
|
|
||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
|
@ -21,15 +18,17 @@
|
||||||
#include "llvm/Support/CallSite.h"
|
#include "llvm/Support/CallSite.h"
|
||||||
#include "llvm/ADT/DenseMap.h"
|
#include "llvm/ADT/DenseMap.h"
|
||||||
#include "llvm/ADT/SmallPtrSet.h"
|
#include "llvm/ADT/SmallPtrSet.h"
|
||||||
#include "llvm/Support/Compiler.h"
|
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
|
class Function;
|
||||||
|
class FunctionPass;
|
||||||
|
class Instruction;
|
||||||
|
|
||||||
class Function;
|
/// MemoryDependenceAnalysis - This is an analysis that determines, for a
|
||||||
class FunctionPass;
|
/// given memory operation, what preceding memory operations it depends on.
|
||||||
class Instruction;
|
/// It builds on alias analysis information, and tries to provide a lazy,
|
||||||
|
/// caching interface to a common kind of alias information query.
|
||||||
class MemoryDependenceAnalysis : public FunctionPass {
|
class MemoryDependenceAnalysis : public FunctionPass {
|
||||||
private:
|
private:
|
||||||
// A map from instructions to their dependency, with a boolean
|
// A map from instructions to their dependency, with a boolean
|
||||||
// flags for whether this mapping is confirmed or not
|
// flags for whether this mapping is confirmed or not
|
||||||
|
@ -61,7 +60,6 @@ class MemoryDependenceAnalysis : public FunctionPass {
|
||||||
// Special marker indicating that the query has no dependency at all
|
// Special marker indicating that the query has no dependency at all
|
||||||
static Instruction* const None;
|
static Instruction* const None;
|
||||||
|
|
||||||
|
|
||||||
// Special marker indicating a dirty cache entry
|
// Special marker indicating a dirty cache entry
|
||||||
static Instruction* const Dirty;
|
static Instruction* const Dirty;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue