diff options
| author | Tobias Grosser <grosser@fim.uni-passau.de> | 2010-10-13 05:54:07 +0000 |
|---|---|---|
| committer | Tobias Grosser <grosser@fim.uni-passau.de> | 2010-10-13 05:54:07 +0000 |
| commit | 8352ce5f8d7a207fd4ee3130098d450efa21c5f1 (patch) | |
| tree | 84b3129b1af50197bc528dc2af17deb6e803f3fd /llvm | |
| parent | f7cfb2212c6548bcb9afbafaacb5203110494b8d (diff) | |
| download | bcm5719-llvm-8352ce5f8d7a207fd4ee3130098d450efa21c5f1.tar.gz bcm5719-llvm-8352ce5f8d7a207fd4ee3130098d450efa21c5f1.zip | |
RegionInfo: Allow to set the parent region of a basic block.
llvm-svn: 116394
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/Analysis/RegionInfo.h | 6 | ||||
| -rw-r--r-- | llvm/lib/Analysis/RegionInfo.cpp | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/llvm/include/llvm/Analysis/RegionInfo.h b/llvm/include/llvm/Analysis/RegionInfo.h index 7a2670f2c08..aca13517b57 100644 --- a/llvm/include/llvm/Analysis/RegionInfo.h +++ b/llvm/include/llvm/Analysis/RegionInfo.h @@ -565,6 +565,12 @@ public: /// region containing BB. Region *getRegionFor(BasicBlock *BB) const; + /// @brief Set the smallest region that surrounds a basic block. + /// + /// @param BB The basic block surrounded by a region. + /// @param R The smallest region that surrounds BB. + void setRegionFor(BasicBlock *BB, Region *R); + /// @brief A shortcut for getRegionFor(). /// /// @param BB The basic block. diff --git a/llvm/lib/Analysis/RegionInfo.cpp b/llvm/lib/Analysis/RegionInfo.cpp index 6593f07ff3c..99c2eed343d 100644 --- a/llvm/lib/Analysis/RegionInfo.cpp +++ b/llvm/lib/Analysis/RegionInfo.cpp @@ -659,11 +659,14 @@ Region *RegionInfo::getRegionFor(BasicBlock *BB) const { return I != BBtoRegion.end() ? I->second : 0; } +void RegionInfo::setRegionFor(BasicBlock *BB, Region *R) { + BBtoRegion[BB] = R; +} + Region *RegionInfo::operator[](BasicBlock *BB) const { return getRegionFor(BB); } - BasicBlock *RegionInfo::getMaxRegionExit(BasicBlock *BB) const { BasicBlock *Exit = NULL; |

