[llvm-commits] [parallel] CVS: llvm/include/llvm/Analysis/ParallelInfo.h
Misha Brukman
brukman at cs.uiuc.edu
Thu May 6 11:31:02 PDT 2004
Changes in directory llvm/include/llvm/Analysis:
ParallelInfo.h updated: 1.1.2.3 -> 1.1.2.4
---
Log message:
Add some iterators for the contained members.
---
Diffs of the changes: (+22 -11)
Index: llvm/include/llvm/Analysis/ParallelInfo.h
diff -u llvm/include/llvm/Analysis/ParallelInfo.h:1.1.2.3 llvm/include/llvm/Analysis/ParallelInfo.h:1.1.2.4
--- llvm/include/llvm/Analysis/ParallelInfo.h:1.1.2.3 Fri Apr 16 11:35:12 2004
+++ llvm/include/llvm/Analysis/ParallelInfo.h Thu May 6 11:31:14 2004
@@ -30,10 +30,18 @@
///
class ParallelRegion {
ParallelSeq *parent;
- std::vector<ParallelSeq*> children;
+ std::vector<ParallelSeq*> Children;
std::vector<BasicBlock*> Blocks;
public:
+ ParallelRegion(ParallelSeq *PS) : parent(PS) {}
+ ParallelRegion(BasicBlock *BB) : parent(0) { Blocks.push_back(BB); }
+ ParallelRegion() : parent(0) {}
+ ~ParallelRegion();
+
+ static ParallelRegion* discoverRegion(BasicBlock *pbrBlock,
+ BasicBlock *begin);
+
typedef std::vector<BasicBlock*>::iterator iterator;
typedef std::vector<BasicBlock*>::const_iterator const_iterator;
iterator begin() { return Blocks.begin(); }
@@ -41,23 +49,23 @@
const_iterator const_begin() const { return Blocks.begin(); }
const_iterator const_end() const { return Blocks.end(); }
- ParallelRegion(ParallelSeq *PS) : parent(PS) {}
- ParallelRegion(BasicBlock *BB) : parent(0) { Blocks.push_back(BB); }
- ParallelRegion() : parent(0) {}
- ~ParallelRegion();
+ typedef std::vector<ParallelSeq*>::iterator seqiterator;
+ typedef std::vector<ParallelSeq*>::const_iterator const_seqiterator;
+ seqiterator seqbegin() { return Children.begin(); }
+ seqiterator seqend() { return Children.end(); }
+ const_seqiterator const_seqbegin() const { return Children.begin(); }
+ const_seqiterator const_seqend() const { return Children.end(); }
- static ParallelRegion* discoverRegion(BasicBlock *pbrBlock,
- BasicBlock *begin, BasicBlock *end);
void addBasicBlock(BasicBlock *BB) { Blocks.push_back(BB); }
void removeBasicBlock(BasicBlock *BB);
bool contains(const BasicBlock *BB);
void addChildSeq(ParallelSeq *PS);
+ std::vector<BasicBlock*> &getBlocks() { return Blocks; }
ParallelSeq *getParent() { return parent; }
void print(std::ostream &os);
void dump() { print(std::cerr); }
-
};
@@ -88,9 +96,12 @@
/// region_iterator/region_begin/region_end - Return the regions contained
/// within this parallel sequence.
///
- typedef std::vector<ParallelRegion*>::const_iterator region_iterator;
- region_iterator region_begin() const { return Regions.begin(); }
- region_iterator region_end() const { return Regions.end(); }
+ typedef std::vector<ParallelRegion*>::iterator riterator;
+ typedef std::vector<ParallelRegion*>::const_iterator const_riterator;
+ riterator rbegin() { return Regions.begin(); }
+ riterator rend() { return Regions.end(); }
+ const_riterator const_rbegin() const { return Regions.begin(); }
+ const_riterator const_rend() const { return Regions.end(); }
/// getJoinBlocks - Return all of the join/synchronization blocks where the
/// threads of this sequence become one again.
More information about the llvm-commits
mailing list