forked from OSchip/llvm-project
Make headers standalone, move a virtual method out of line.
llvm-svn: 144536
This commit is contained in:
parent
a5772b9278
commit
d00e94e882
|
@ -14,16 +14,18 @@
|
|||
#ifndef LLVM_TRANSFORMS_UTILS_SSAUPDATER_H
|
||||
#define LLVM_TRANSFORMS_UTILS_SSAUPDATER_H
|
||||
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
|
||||
namespace llvm {
|
||||
class Value;
|
||||
class BasicBlock;
|
||||
class Use;
|
||||
class PHINode;
|
||||
class Instruction;
|
||||
class LoadInst;
|
||||
template<typename T> class SmallVectorImpl;
|
||||
template<typename T> class SSAUpdaterTraits;
|
||||
class DbgDeclareInst;
|
||||
class DIBuilder;
|
||||
class BumpPtrAllocator;
|
||||
class PHINode;
|
||||
class Type;
|
||||
class Use;
|
||||
class Value;
|
||||
|
||||
/// SSAUpdater - This class updates SSA form for a set of values defined in
|
||||
/// multiple blocks. This is used when code duplication or another unstructured
|
||||
|
@ -137,12 +139,7 @@ public:
|
|||
/// passed into the run method). Clients should implement this with a more
|
||||
/// efficient version if possible.
|
||||
virtual bool isInstInList(Instruction *I,
|
||||
const SmallVectorImpl<Instruction*> &Insts) const {
|
||||
for (unsigned i = 0, e = Insts.size(); i != e; ++i)
|
||||
if (Insts[i] == I)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
const SmallVectorImpl<Instruction*> &Insts) const;
|
||||
|
||||
/// doExtraRewritesBeforeFinalDeletion - This hook is invoked after all the
|
||||
/// stores are found and inserted as available values, but
|
||||
|
|
|
@ -15,8 +15,16 @@
|
|||
#ifndef LLVM_TRANSFORMS_UTILS_SSAUPDATERIMPL_H
|
||||
#define LLVM_TRANSFORMS_UTILS_SSAUPDATERIMPL_H
|
||||
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/Support/Allocator.h"
|
||||
#include "llvm/Support/Debug.h"
|
||||
#include "llvm/Support/ValueHandle.h"
|
||||
|
||||
namespace llvm {
|
||||
|
||||
class CastInst;
|
||||
class PHINode;
|
||||
template<typename T> class SSAUpdaterTraits;
|
||||
|
||||
template<typename UpdaterT>
|
||||
|
|
|
@ -17,17 +17,18 @@
|
|||
#define LLVM_TRANSFORMS_UTILS_SIMPLIFYINDVAR_H
|
||||
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/ValueHandle.h"
|
||||
|
||||
namespace llvm {
|
||||
|
||||
extern cl::opt<bool> DisableIVRewrite;
|
||||
|
||||
class Loop;
|
||||
class LoopInfo;
|
||||
class DominatorTree;
|
||||
class ScalarEvolution;
|
||||
class LPPassManager;
|
||||
class CastInst;
|
||||
class IVUsers;
|
||||
class Loop;
|
||||
class LPPassManager;
|
||||
class PHINode;
|
||||
class ScalarEvolution;
|
||||
|
||||
/// Interface for visiting interesting IV users that are recognized but not
|
||||
/// simplified by this utility.
|
||||
|
|
|
@ -518,3 +518,10 @@ run(const SmallVectorImpl<Instruction*> &Insts) const {
|
|||
User->eraseFromParent();
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
LoadAndStorePromoter::isInstInList(Instruction *I,
|
||||
const SmallVectorImpl<Instruction*> &Insts)
|
||||
const {
|
||||
return std::find(Insts.begin(), Insts.end(), I) != Insts.end();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue