Pull predecessor and successor iterators out of the CFG*.h files, and plop them into

the BasicBlock class where they should be.  pred_begin/pred_end become methods on BasicBlock,
and the cfg namespace isn't used anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@691 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2001-10-01 13:19:53 +00:00
parent 711774e169
commit f0604b84c7
16 changed files with 176 additions and 368 deletions
+3 -5
View File
@@ -8,19 +8,17 @@
#include "llvm/Analysis/Interval.h"
#include "llvm/BasicBlock.h"
using namespace cfg;
//===----------------------------------------------------------------------===//
// Interval Implementation
//===----------------------------------------------------------------------===//
// isLoop - Find out if there is a back edge in this interval...
//
bool Interval::isLoop() const {
bool cfg::Interval::isLoop() const {
// There is a loop in this interval iff one of the predecessors of the header
// node lives in the interval.
for (BasicBlock::pred_iterator I = pred_begin(HeaderNode),
E = pred_end(HeaderNode); I != E; ++I) {
for (BasicBlock::pred_iterator I = HeaderNode->pred_begin(),
E = HeaderNode->pred_end(); I != E; ++I) {
if (contains(*I)) return true;
}
return false;