unsigned Indent) {
for (succ_iterator SI = succ_begin(CurBlock), E = succ_end(CurBlock);
SI != E; ++SI)
- for (BasicBlock::iterator I = SI->begin();
- PHINode *PN = dyn_cast<PHINode>(I); ++I) {
+ for (BasicBlock::iterator I = SI->begin(); isa<PHINode>(I); ++I) {
+ PHINode *PN = cast<PHINode>(I);
// now we have to do the printing
Out << std::string(Indent, ' ');
Out << " " << Mang->getValueName(I) << "__PHI_TEMPORARY = ";
unsigned Indent) {
for (succ_iterator SI = succ_begin(CurBlock), E = succ_end(CurBlock);
SI != E; ++SI)
- for (BasicBlock::iterator I = SI->begin();
- PHINode *PN = dyn_cast<PHINode>(I); ++I) {
+ for (BasicBlock::iterator I = SI->begin(); isa<PHINode>(I); ++I) {
+ PHINode *PN = cast<PHINode>(I);
// now we have to do the printing
Out << std::string(Indent, ' ');
Out << " " << Mang->getValueName(I) << "__PHI_TEMPORARY = ";
if (!Preds.empty()) { // Is the loop not obviously dead?
// Check to see if the values being merged into the new block need PHI
// nodes. If so, insert them.
- for (BasicBlock::iterator I = BB->begin();
- PHINode *PN = dyn_cast<PHINode>(I); ) {
+ for (BasicBlock::iterator I = BB->begin(); isa<PHINode>(I); ) {
+ PHINode *PN = cast<PHINode>(I);
++I;
// Check to see if all of the values coming in are the same. If so, we
}
} else { // Otherwise the loop is dead...
- for (BasicBlock::iterator I = BB->begin();
- PHINode *PN = dyn_cast<PHINode>(I); ++I)
+ for (BasicBlock::iterator I = BB->begin(); isa<PHINode>(I); ++I) {
+ PHINode *PN = cast<PHINode>(I);
// Insert dummy values as the incoming value...
PN->addIncoming(Constant::getNullValue(PN->getType()), NewBB);
+ }
}
return NewBB;
}
/// FindPHIToPartitionLoops - The first part of loop-nestification is to find a
/// PHI node that tells us how to partition the loops.
static PHINode *FindPHIToPartitionLoops(Loop *L) {
- for (BasicBlock::iterator I = L->getHeader()->begin();
- PHINode *PN = dyn_cast<PHINode>(I); ) {
+ for (BasicBlock::iterator I = L->getHeader()->begin(); isa<PHINode>(I); ) {
+ PHINode *PN = cast<PHINode>(I);
++I;
if (Value *V = hasConstantValue(PN)) {
// This is a degenerate PHI already, don't modify it!
// Now that the block has been inserted into the function, create PHI nodes in
// the backedge block which correspond to any PHI nodes in the header block.
- for (BasicBlock::iterator I = Header->begin();
- PHINode *PN = dyn_cast<PHINode>(I); ++I) {
+ for (BasicBlock::iterator I = Header->begin(); isa<PHINode>(I); ++I) {
+ PHINode *PN = cast<PHINode>(I);
PHINode *NewPN = new PHINode(PN->getType(), PN->getName()+".be",
BETerminator);
NewPN->op_reserve(2*BackedgeBlocks.size());