mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-22 10:16:43 +00:00
cleanup: scc_iterator consumers should use isAtEnd
No functional change. Updated loops from: for (I = scc_begin(), E = scc_end(); I != E; ++I) to: for (I = scc_begin(); !I.isAtEnd(); ++I) for teh win. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200789 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7f15e90281
commit
483727da48
@ -367,8 +367,7 @@ bool GlobalsModRef::AnalyzeIndirectGlobalMemory(GlobalValue *GV) {
|
||||
void GlobalsModRef::AnalyzeCallGraph(CallGraph &CG, Module &M) {
|
||||
// We do a bottom-up SCC traversal of the call graph. In other words, we
|
||||
// visit all callees before callers (leaf-first).
|
||||
for (scc_iterator<CallGraph*> I = scc_begin(&CG), E = scc_end(&CG); I != E;
|
||||
++I) {
|
||||
for (scc_iterator<CallGraph*> I = scc_begin(&CG); !I.isAtEnd(); ++I) {
|
||||
std::vector<CallGraphNode *> &SCC = *I;
|
||||
assert(!SCC.empty() && "SCC with no functions?");
|
||||
|
||||
|
@ -934,8 +934,8 @@ bool AMDGPUCFGStructurizer::run() {
|
||||
void AMDGPUCFGStructurizer::orderBlocks(MachineFunction *MF) {
|
||||
int SccNum = 0;
|
||||
MachineBasicBlock *MBB;
|
||||
for (scc_iterator<MachineFunction *> It = scc_begin(MF), E = scc_end(MF);
|
||||
It != E; ++It, ++SccNum) {
|
||||
for (scc_iterator<MachineFunction *> It = scc_begin(MF); !It.isAtEnd();
|
||||
++It, ++SccNum) {
|
||||
std::vector<MachineBasicBlock *> &SccNext = *It;
|
||||
for (std::vector<MachineBasicBlock *>::const_iterator
|
||||
blockIter = SccNext.begin(), blockEnd = SccNext.end();
|
||||
|
@ -604,8 +604,7 @@ bool FunctionAttrs::AddArgumentAttrs(const CallGraphSCC &SCC) {
|
||||
// made. If the definition doesn't have a 'nocapture' attribute by now, it
|
||||
// captures.
|
||||
|
||||
for (scc_iterator<ArgumentGraph*> I = scc_begin(&AG), E = scc_end(&AG);
|
||||
I != E; ++I) {
|
||||
for (scc_iterator<ArgumentGraph*> I = scc_begin(&AG); !I.isAtEnd(); ++I) {
|
||||
std::vector<ArgumentGraphNode*> &ArgumentSCC = *I;
|
||||
if (ArgumentSCC.size() == 1) {
|
||||
if (!ArgumentSCC[0]->Definition) continue; // synthetic root node
|
||||
|
@ -277,9 +277,8 @@ bool StructurizeCFG::doInitialization(Region *R, RGPassManager &RGM) {
|
||||
|
||||
/// \brief Build up the general order of nodes
|
||||
void StructurizeCFG::orderNodes() {
|
||||
scc_iterator<Region *> I = scc_begin(ParentRegion),
|
||||
E = scc_end(ParentRegion);
|
||||
for (Order.clear(); I != E; ++I) {
|
||||
scc_iterator<Region *> I = scc_begin(ParentRegion);
|
||||
for (Order.clear(); !I.isAtEnd(); ++I) {
|
||||
std::vector<RegionNode *> &Nodes = *I;
|
||||
Order.append(Nodes.begin(), Nodes.end());
|
||||
}
|
||||
|
@ -74,8 +74,7 @@ Z("print-callgraph-sccs", "Print SCCs of the Call Graph");
|
||||
bool CFGSCC::runOnFunction(Function &F) {
|
||||
unsigned sccNum = 0;
|
||||
errs() << "SCCs for Function " << F.getName() << " in PostOrder:";
|
||||
for (scc_iterator<Function*> SCCI = scc_begin(&F),
|
||||
E = scc_end(&F); SCCI != E; ++SCCI) {
|
||||
for (scc_iterator<Function*> SCCI = scc_begin(&F); !SCCI.isAtEnd(); ++SCCI) {
|
||||
std::vector<BasicBlock*> &nextSCC = *SCCI;
|
||||
errs() << "\nSCC #" << ++sccNum << " : ";
|
||||
for (std::vector<BasicBlock*>::const_iterator I = nextSCC.begin(),
|
||||
@ -95,8 +94,8 @@ bool CallGraphSCC::runOnModule(Module &M) {
|
||||
CallGraph &CG = getAnalysis<CallGraphWrapperPass>().getCallGraph();
|
||||
unsigned sccNum = 0;
|
||||
errs() << "SCCs for the program in PostOrder:";
|
||||
for (scc_iterator<CallGraph*> SCCI = scc_begin(&CG),
|
||||
E = scc_end(&CG); SCCI != E; ++SCCI) {
|
||||
for (scc_iterator<CallGraph*> SCCI = scc_begin(&CG); !SCCI.isAtEnd();
|
||||
++SCCI) {
|
||||
const std::vector<CallGraphNode*> &nextSCC = *SCCI;
|
||||
errs() << "\nSCC #" << ++sccNum << " : ";
|
||||
for (std::vector<CallGraphNode*>::const_iterator I = nextSCC.begin(),
|
||||
|
Loading…
x
Reference in New Issue
Block a user