StructurizeCFG: Use phi iterator range

llvm-svn: 321568
This commit is contained in:
Matt Arsenault 2017-12-29 19:25:57 +00:00
parent 344c09202b
commit 8dcfa137f3

View file

@ -544,10 +544,7 @@ void StructurizeCFG::insertConditions(bool Loops) {
/// them in DeletedPhis /// them in DeletedPhis
void StructurizeCFG::delPhiValues(BasicBlock *From, BasicBlock *To) { void StructurizeCFG::delPhiValues(BasicBlock *From, BasicBlock *To) {
PhiMap &Map = DeletedPhis[To]; PhiMap &Map = DeletedPhis[To];
for (Instruction &I : *To) { for (PHINode &Phi : To->phis()) {
if (!isa<PHINode>(I))
break;
PHINode &Phi = cast<PHINode>(I);
while (Phi.getBasicBlockIndex(From) != -1) { while (Phi.getBasicBlockIndex(From) != -1) {
Value *Deleted = Phi.removeIncomingValue(From, false); Value *Deleted = Phi.removeIncomingValue(From, false);
Map[&Phi].push_back(std::make_pair(From, Deleted)); Map[&Phi].push_back(std::make_pair(From, Deleted));
@ -557,10 +554,7 @@ void StructurizeCFG::delPhiValues(BasicBlock *From, BasicBlock *To) {
/// \brief Add a dummy PHI value as soon as we knew the new predecessor /// \brief Add a dummy PHI value as soon as we knew the new predecessor
void StructurizeCFG::addPhiValues(BasicBlock *From, BasicBlock *To) { void StructurizeCFG::addPhiValues(BasicBlock *From, BasicBlock *To) {
for (Instruction &I : *To) { for (PHINode &Phi : To->phis()) {
if (!isa<PHINode>(I))
break;
PHINode &Phi = cast<PHINode>(I);
Value *Undef = UndefValue::get(Phi.getType()); Value *Undef = UndefValue::get(Phi.getType());
Phi.addIncoming(Undef, From); Phi.addIncoming(Undef, From);
} }