Index: llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp =================================================================== --- llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp +++ llvm/trunk/lib/CodeGen/MachineBlockPlacement.cpp @@ -264,7 +264,7 @@ namespace { class MachineBlockPlacement : public MachineFunctionPass { /// \brief A typedef for a block filter set. - typedef SmallPtrSet BlockFilterSet; + typedef SmallSetVector BlockFilterSet; /// \brief work lists of blocks that are ready to be laid out SmallVector BlockWorkList; @@ -1512,7 +1512,7 @@ } for (MachineBasicBlock *ChainBB : LoopChain) { dbgs() << " ... " << getBlockName(ChainBB) << "\n"; - if (!LoopBlockSet.erase(ChainBB)) { + if (!LoopBlockSet.remove(ChainBB)) { // We don't mark the loop as bad here because there are real situations // where this can occur. For example, with an unanalyzable fallthrough // from a loop block to a non-loop block or vice versa. @@ -1928,7 +1928,7 @@ // Handle the filter set if (BlockFilter) { - BlockFilter->erase(RemBB); + BlockFilter->remove(RemBB); } // Remove the block from loop info.