Forward-declare Loop and LoopInfo instead of #including LoopInfo.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75529 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman
2009-07-13 22:19:41 +00:00
parent fa82b6eba4
commit 03ee68a145
6 changed files with 18 additions and 9 deletions

View File

@@ -36,11 +36,7 @@ public:
virtual void print(std::ostream &os, const Module *) const;
void releaseMemory();
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequiredTransitive<LoopInfo>();
AU.addRequiredTransitive<ScalarEvolution>();
AU.setPreservesAll();
}
void getAnalysisUsage(AnalysisUsage &AU) const;
//===---------------------------------------------------------------------
// Methods that are used to look up and update particular values.

View File

@@ -22,7 +22,7 @@
#define LLVM_ANALYSIS_SCALAREVOLUTION_H
#include "llvm/Pass.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Instructions.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/ValueHandle.h"
#include "llvm/Support/Allocator.h"
@@ -30,14 +30,19 @@
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/DenseMap.h"
#include <iosfwd>
#include <map>
namespace llvm {
class APInt;
class Constant;
class ConstantInt;
class DominatorTree;
class Type;
class ScalarEvolution;
class TargetData;
class LLVMContext;
class Loop;
class LoopInfo;
/// SCEV - This class represents an analyzed expression in the program. These
/// are opaque objects that the client is not allowed to do much with

View File

@@ -17,6 +17,7 @@
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/Support/IRBuilder.h"
#include "llvm/Support/TargetFolder.h"
#include <set>
namespace llvm {
/// SCEVExpander - This class uses information about analyze scalars to