diff options
| author | Roman Divacky <rdivacky@FreeBSD.org> | 2010-05-27 15:15:58 +0000 |
|---|---|---|
| committer | Roman Divacky <rdivacky@FreeBSD.org> | 2010-05-27 15:15:58 +0000 |
| commit | abdf259d487163e72081a8cf4991b1617206b41e (patch) | |
| tree | 9fad9a5d5dd8c4ff54af48edad9c8cc26dd5fda1 /include/llvm/Transforms/Utils/SSAUpdater.h | |
| parent | 59161dfae3225dd9151afbc76ca9074598c0c605 (diff) | |
Notes
Diffstat (limited to 'include/llvm/Transforms/Utils/SSAUpdater.h')
| -rw-r--r-- | include/llvm/Transforms/Utils/SSAUpdater.h | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/include/llvm/Transforms/Utils/SSAUpdater.h b/include/llvm/Transforms/Utils/SSAUpdater.h index 5b77ed660fcbf..ca98466b3456e 100644 --- a/include/llvm/Transforms/Utils/SSAUpdater.h +++ b/include/llvm/Transforms/Utils/SSAUpdater.h @@ -19,8 +19,8 @@ namespace llvm { class BasicBlock; class Use; class PHINode; - template<typename T> - class SmallVectorImpl; + template<typename T> class SmallVectorImpl; + template<typename T> class SSAUpdaterTraits; class BumpPtrAllocator; /// SSAUpdater - This class updates SSA form for a set of values defined in @@ -28,9 +28,7 @@ namespace llvm { /// transformation wants to rewrite a set of uses of one value with uses of a /// set of values. class SSAUpdater { -public: - class BBInfo; - typedef SmallVectorImpl<BBInfo*> BlockListTy; + friend class SSAUpdaterTraits<SSAUpdater>; private: /// AvailableVals - This keeps track of which value to use on a per-block @@ -42,14 +40,10 @@ private: /// and a type for PHI nodes. Value *PrototypeValue; - /// BBMap - The GetValueAtEndOfBlock method maintains this mapping from - /// basic blocks to BBInfo structures. - /// typedef DenseMap<BasicBlock*, BBInfo*> BBMapTy; - void *BM; - /// InsertedPHIs - If this is non-null, the SSAUpdater adds all PHI nodes that /// it creates to the vector. SmallVectorImpl<PHINode*> *InsertedPHIs; + public: /// SSAUpdater constructor. If InsertedPHIs is specified, it will be filled /// in with all PHI Nodes created by rewriting. @@ -102,14 +96,6 @@ public: private: Value *GetValueAtEndOfBlockInternal(BasicBlock *BB); - void BuildBlockList(BasicBlock *BB, BlockListTy *BlockList, - BumpPtrAllocator *Allocator); - void FindDominators(BlockListTy *BlockList); - void FindPHIPlacement(BlockListTy *BlockList); - void FindAvailableVals(BlockListTy *BlockList); - void FindExistingPHI(BasicBlock *BB, BlockListTy *BlockList); - bool CheckIfPHIMatches(PHINode *PHI); - void RecordMatchingPHI(PHINode *PHI); void operator=(const SSAUpdater&); // DO NOT IMPLEMENT SSAUpdater(const SSAUpdater&); // DO NOT IMPLEMENT |
