Eliminate unnecessary LLVMContexts.

llvm-svn: 91729
This commit is contained in:
Dan Gohman 2009-12-18 23:42:08 +00:00
parent 022d18fa3f
commit f902c8c1b5
5 changed files with 3 additions and 10 deletions

View File

@ -30,7 +30,6 @@ namespace llvm {
class BasicBlock; class BasicBlock;
class Function; class Function;
class SparseSolver; class SparseSolver;
class LLVMContext;
class raw_ostream; class raw_ostream;
template<typename T> class SmallVectorImpl; template<typename T> class SmallVectorImpl;
@ -120,8 +119,6 @@ class SparseSolver {
/// compute transfer functions. /// compute transfer functions.
AbstractLatticeFunction *LatticeFunc; AbstractLatticeFunction *LatticeFunc;
LLVMContext *Context;
DenseMap<Value*, LatticeVal> ValueState; // The state each value is in. DenseMap<Value*, LatticeVal> ValueState; // The state each value is in.
SmallPtrSet<BasicBlock*, 16> BBExecutable; // The bbs that are executable. SmallPtrSet<BasicBlock*, 16> BBExecutable; // The bbs that are executable.
@ -137,8 +134,8 @@ class SparseSolver {
SparseSolver(const SparseSolver&); // DO NOT IMPLEMENT SparseSolver(const SparseSolver&); // DO NOT IMPLEMENT
void operator=(const SparseSolver&); // DO NOT IMPLEMENT void operator=(const SparseSolver&); // DO NOT IMPLEMENT
public: public:
explicit SparseSolver(AbstractLatticeFunction *Lattice, LLVMContext *C) explicit SparseSolver(AbstractLatticeFunction *Lattice)
: LatticeFunc(Lattice), Context(C) {} : LatticeFunc(Lattice) {}
~SparseSolver() { ~SparseSolver() {
delete LatticeFunc; delete LatticeFunc;
} }

View File

@ -24,7 +24,6 @@ namespace llvm {
class Instruction; class Instruction;
class APInt; class APInt;
class TargetData; class TargetData;
class LLVMContext;
/// ComputeMaskedBits - Determine which of the bits specified in Mask are /// ComputeMaskedBits - Determine which of the bits specified in Mask are
/// known to be either zero or one and return them in the KnownZero/KnownOne /// known to be either zero or one and return them in the KnownZero/KnownOne

View File

@ -38,7 +38,6 @@ class CallGraph;
class TargetData; class TargetData;
class Loop; class Loop;
class LoopInfo; class LoopInfo;
class LLVMContext;
class AllocaInst; class AllocaInst;
template <typename T> class SmallVectorImpl; template <typename T> class SmallVectorImpl;

View File

@ -27,7 +27,6 @@ class PHINode;
class AllocaInst; class AllocaInst;
class ConstantExpr; class ConstantExpr;
class TargetData; class TargetData;
class LLVMContext;
struct DbgInfoIntrinsic; struct DbgInfoIntrinsic;
template<typename T> class SmallVectorImpl; template<typename T> class SmallVectorImpl;

View File

@ -17,7 +17,6 @@
#include "llvm/Constants.h" #include "llvm/Constants.h"
#include "llvm/Function.h" #include "llvm/Function.h"
#include "llvm/Instructions.h" #include "llvm/Instructions.h"
#include "llvm/LLVMContext.h"
#include "llvm/Support/Debug.h" #include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h" #include "llvm/Support/raw_ostream.h"
using namespace llvm; using namespace llvm;
@ -155,7 +154,7 @@ void SparseSolver::getFeasibleSuccessors(TerminatorInst &TI,
} }
// Constant condition variables mean the branch can only go a single way // Constant condition variables mean the branch can only go a single way
Succs[C == ConstantInt::getFalse(*Context)] = true; Succs[C->isNullValue()] = true;
return; return;
} }