Changes in directory llvm-poolalloc/lib/DSA:
BottomUpClosure.cpp updated: 1.129 -> 1.130 CallTargets.cpp updated: 1.10 -> 1.11 CompleteBottomUp.cpp updated: 1.41 -> 1.42 DataStructure.cpp updated: 1.258 -> 1.259 DataStructureAA.cpp updated: 1.41 -> 1.42 DataStructureOpt.cpp updated: 1.17 -> 1.18 EquivClassGraphs.cpp updated: 1.55 -> 1.56 Local.cpp updated: 1.167 -> 1.168 Steensgaard.cpp updated: 1.68 -> 1.69 TopDownClosure.cpp updated: 1.97 -> 1.98 --- Log message: Made to compile with newest version of llvm tree --- Diffs of the changes: (+52 -51) BottomUpClosure.cpp | 10 +++++----- CallTargets.cpp | 2 +- CompleteBottomUp.cpp | 12 ++++++------ DataStructure.cpp | 18 +++++++++--------- DataStructureAA.cpp | 3 ++- DataStructureOpt.cpp | 2 +- EquivClassGraphs.cpp | 18 +++++++++--------- Local.cpp | 18 +++++++++--------- Steensgaard.cpp | 6 +++--- TopDownClosure.cpp | 14 +++++++------- 10 files changed, 52 insertions(+), 51 deletions(-) Index: llvm-poolalloc/lib/DSA/BottomUpClosure.cpp diff -u llvm-poolalloc/lib/DSA/BottomUpClosure.cpp:1.129 llvm-poolalloc/lib/DSA/BottomUpClosure.cpp:1.130 --- llvm-poolalloc/lib/DSA/BottomUpClosure.cpp:1.129 Wed Jan 10 12:10:32 2007 +++ llvm-poolalloc/lib/DSA/BottomUpClosure.cpp Fri Feb 23 16:49:32 2007 @@ -163,13 +163,13 @@ hash_map<Function*, unsigned> ValMap; unsigned NextID = 1; - Function *MainFunc = M.getMainFunction(); + Function *MainFunc = M.getFunction("main"); if (MainFunc) calculateGraphs(MainFunc, Stack, NextID, ValMap); // Calculate the graphs for any functions that are unreachable from main... for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) - if (!I->isExternal() && !DSInfo.count(I)) { + if (!I->isDeclaration() && !DSInfo.count(I)) { if (MainFunc) DOUT << "*** BU: Function unreachable from main: " << I->getName() << "\n"; @@ -212,7 +212,7 @@ // Merge the globals variables (not the calls) from the globals graph back // into the main function's graph so that the main function contains all of // the information about global pools and GV usage in the program. - if (MainFunc && !MainFunc->isExternal()) { + if (MainFunc && !MainFunc->isDeclaration()) { DSGraph &MainGraph = getOrCreateGraph(MainFunc); const DSGraph &GG = *MainGraph.getGlobalsGraph(); ReachabilityCloner RC(MainGraph, GG, @@ -280,7 +280,7 @@ } static bool isResolvableFunc(const Function* callee) { - return !callee->isExternal() || isVAHackFn(callee); + return !callee->isDeclaration() || isVAHackFn(callee); } static void GetAllCallees(const DSCallSite &CS, @@ -349,7 +349,7 @@ // FIXME! This test should be generalized to be any function that we have // already processed, in the case when there isn't a main or there are // unreachable functions! - if (F->isExternal()) { // sprintf, fprintf, sscanf, etc... + if (F->isDeclaration()) { // sprintf, fprintf, sscanf, etc... // No callees! Stack.pop_back(); ValMap[F] = ~0; Index: llvm-poolalloc/lib/DSA/CallTargets.cpp diff -u llvm-poolalloc/lib/DSA/CallTargets.cpp:1.10 llvm-poolalloc/lib/DSA/CallTargets.cpp:1.11 --- llvm-poolalloc/lib/DSA/CallTargets.cpp:1.10 Wed Jan 10 13:59:52 2007 +++ llvm-poolalloc/lib/DSA/CallTargets.cpp Fri Feb 23 16:49:32 2007 @@ -42,7 +42,7 @@ { TDDataStructures* T = &getAnalysis<TDDataStructures>(); for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) - if (!I->isExternal()) + if (!I->isDeclaration()) for (Function::iterator F = I->begin(), FE = I->end(); F != FE; ++F) for (BasicBlock::iterator B = F->begin(), BE = F->end(); B != BE; ++B) if (isa<CallInst>(B) || isa<InvokeInst>(B)) { Index: llvm-poolalloc/lib/DSA/CompleteBottomUp.cpp diff -u llvm-poolalloc/lib/DSA/CompleteBottomUp.cpp:1.41 llvm-poolalloc/lib/DSA/CompleteBottomUp.cpp:1.42 --- llvm-poolalloc/lib/DSA/CompleteBottomUp.cpp:1.41 Wed Jan 10 12:10:32 2007 +++ llvm-poolalloc/lib/DSA/CompleteBottomUp.cpp Fri Feb 23 16:49:32 2007 @@ -46,16 +46,16 @@ hash_map<DSGraph*, unsigned> ValMap; unsigned NextID = 1; - Function *MainFunc = M.getMainFunction(); + Function *MainFunc = M.getFunction("main"); if (MainFunc) { - if (!MainFunc->isExternal()) + if (!MainFunc->isDeclaration()) calculateSCCGraphs(getOrCreateGraph(*MainFunc), Stack, NextID, ValMap); } else { DOUT << "CBU-DSA: No 'main' function found!\n"; } for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) - if (!I->isExternal() && !DSInfo.count(I)) { + if (!I->isDeclaration() && !DSInfo.count(I)) { if (MainFunc) { DOUT << "*** CBU: Function unreachable from main: " << I->getName() << "\n"; @@ -69,7 +69,7 @@ // Merge the globals variables (not the calls) from the globals graph back // into the main function's graph so that the main function contains all of // the information about global pools and GV usage in the program. - if (MainFunc && !MainFunc->isExternal()) { + if (MainFunc && !MainFunc->isDeclaration()) { DSGraph &MainGraph = getOrCreateGraph(*MainFunc); const DSGraph &GG = *MainGraph.getGlobalsGraph(); ReachabilityCloner RC(MainGraph, GG, @@ -129,7 +129,7 @@ callee_iterator I = callee_begin(Call), E = callee_end(Call); for (; I != E && I->first == Call; ++I) { assert(I->first == Call && "Bad callee construction!"); - if (!I->second->isExternal()) { + if (!I->second->isDeclaration()) { DSGraph &Callee = getOrCreateGraph(*I->second); unsigned M; // Have we visited the destination function yet? @@ -209,7 +209,7 @@ for (; I != E; ++I, ++TNum) { assert(I->first == TheCall && "Bad callee construction!"); Function *CalleeFunc = I->second; - if (!CalleeFunc->isExternal()) { + if (!CalleeFunc->isDeclaration()) { // Merge the callee's graph into this graph. This works for normal // calls or for self recursion within an SCC. DSGraph &GI = getOrCreateGraph(*CalleeFunc); Index: llvm-poolalloc/lib/DSA/DataStructure.cpp diff -u llvm-poolalloc/lib/DSA/DataStructure.cpp:1.258 llvm-poolalloc/lib/DSA/DataStructure.cpp:1.259 --- llvm-poolalloc/lib/DSA/DataStructure.cpp:1.258 Mon Jan 22 11:03:41 2007 +++ llvm-poolalloc/lib/DSA/DataStructure.cpp Fri Feb 23 16:49:32 2007 @@ -392,7 +392,7 @@ if (SS.Idx != ST->getNumElements()) { const StructLayout *SL = TD.getStructLayout(ST); SS.Offset += - unsigned(SL->MemberOffsets[SS.Idx]-SL->MemberOffsets[SS.Idx-1]); + unsigned(SL->getElementOffset(SS.Idx)-SL->getElementOffset(SS.Idx-1)); return; } Stack.pop_back(); // At the end of the structure @@ -423,7 +423,7 @@ assert(SS.Idx < ST->getNumElements()); const StructLayout *SL = TD.getStructLayout(ST); Stack.push_back(StackState(ST->getElementType(SS.Idx), - SS.Offset+unsigned(SL->MemberOffsets[SS.Idx]))); + SS.Offset+unsigned(SL->getElementOffset(SS.Idx)))); } } else { const ArrayType *AT = cast<ArrayType>(SS.Ty); @@ -576,7 +576,7 @@ const StructLayout &SL = *TD.getStructLayout(STy); unsigned i = SL.getElementContainingOffset(Offset); //Either we hit it exactly or give up - if (SL.MemberOffsets[i] != Offset) { + if (SL.getElementOffset(i) != Offset) { if (FoldIfIncompatible) foldNodeCompletely(); return true; } @@ -601,7 +601,7 @@ const StructLayout &SL = *TD.getStructLayout(STy); unsigned i = SL.getElementContainingOffset(Offset); //Either we hit it exactly or give up - if (SL.MemberOffsets[i] != Offset) { + if (SL.getElementOffset(i) != Offset) { if (FoldIfIncompatible) foldNodeCompletely(); return true; } @@ -665,7 +665,7 @@ // The offset we are looking for must be in the i'th element... SubType = STy->getElementType(i); - O += (unsigned)SL.MemberOffsets[i]; + O += (unsigned)SL.getElementOffset(i); break; } case Type::ArrayTyID: { @@ -715,8 +715,8 @@ case Type::StructTyID: { const StructType *STy = cast<StructType>(SubType); const StructLayout &SL = *TD.getStructLayout(STy); - if (SL.MemberOffsets.size() > 1) - NextPadSize = (unsigned)SL.MemberOffsets[1]; + if (STy->getNumElements() > 1) + NextPadSize = (unsigned)SL.getElementOffset(1); else NextPadSize = SubTypeSize; NextSubType = STy->getElementType(0); @@ -1998,7 +1998,7 @@ // them specially for (std::list<DSCallSite>::iterator I = FunctionCalls.begin(), E = FunctionCalls.end(); I != E; ++I) - if(I->isDirectCall() && I->getCalleeFunc()->isExternal()) + if(I->isDirectCall() && I->getCalleeFunc()->isDeclaration()) markIncomplete(*I); // Mark all global nodes as incomplete. @@ -2023,7 +2023,7 @@ std::vector<Function*> Funcs; N->addFullFunctionList(Funcs); for (unsigned i = 0, e = Funcs.size(); i != e; ++i) - if (Funcs[i]->isExternal()) return true; + if (Funcs[i]->isDeclaration()) return true; return false; } Index: llvm-poolalloc/lib/DSA/DataStructureAA.cpp diff -u llvm-poolalloc/lib/DSA/DataStructureAA.cpp:1.41 llvm-poolalloc/lib/DSA/DataStructureAA.cpp:1.42 --- llvm-poolalloc/lib/DSA/DataStructureAA.cpp:1.41 Wed Dec 13 23:51:06 2006 +++ llvm-poolalloc/lib/DSA/DataStructureAA.cpp Fri Feb 23 16:49:32 2007 @@ -12,6 +12,7 @@ // //===----------------------------------------------------------------------===// + #include "llvm/Constants.h" #include "llvm/DerivedTypes.h" #include "llvm/Module.h" @@ -220,7 +221,7 @@ if (!F) return AliasAnalysis::getModRefInfo(CS, P, Size); - if (F->isExternal()) { + if (F->isDeclaration()) { // If we are calling an external function, and if this global doesn't escape // the portion of the program we have analyzed, we can draw conclusions // based on whether the global escapes the program. Index: llvm-poolalloc/lib/DSA/DataStructureOpt.cpp diff -u llvm-poolalloc/lib/DSA/DataStructureOpt.cpp:1.17 llvm-poolalloc/lib/DSA/DataStructureOpt.cpp:1.18 --- llvm-poolalloc/lib/DSA/DataStructureOpt.cpp:1.17 Wed Jan 10 13:59:52 2007 +++ llvm-poolalloc/lib/DSA/DataStructureOpt.cpp Fri Feb 23 16:49:32 2007 @@ -60,7 +60,7 @@ bool Changed = false; for (Module::global_iterator I = M.global_begin(), E = M.global_end(); I != E; ++I) - if (!I->isExternal()) { // Loop over all of the non-external globals... + if (!I->isDeclaration()) { // Loop over all of the non-external globals... // Look up the node corresponding to this global, if it exists. DSNode *GNode = 0; DSGraph::ScalarMapTy::const_iterator SMI = SM.find(I); Index: llvm-poolalloc/lib/DSA/EquivClassGraphs.cpp diff -u llvm-poolalloc/lib/DSA/EquivClassGraphs.cpp:1.55 llvm-poolalloc/lib/DSA/EquivClassGraphs.cpp:1.56 --- llvm-poolalloc/lib/DSA/EquivClassGraphs.cpp:1.55 Wed Jan 10 12:10:32 2007 +++ llvm-poolalloc/lib/DSA/EquivClassGraphs.cpp Fri Feb 23 16:49:32 2007 @@ -41,7 +41,7 @@ template<typename GT> static void CheckAllGraphs(Module *M, GT &ECGraphs) { for (Module::iterator I = M->begin(), E = M->end(); I != E; ++I) - if (!I->isExternal()) { + if (!I->isDeclaration()) { DSGraph &G = ECGraphs.getDSGraph(*I); if (G.retnodes_begin()->first != I) continue; // Only check a graph once. @@ -86,15 +86,15 @@ std::map<DSGraph*, unsigned> ValMap; unsigned NextID = 1; - Function *MainFunc = M.getMainFunction(); - if (MainFunc && !MainFunc->isExternal()) { + Function *MainFunc = M.getFunction("main"); + if (MainFunc && !MainFunc->isDeclaration()) { processSCC(getOrCreateGraph(*MainFunc), Stack, NextID, ValMap); } else { cerr << "Fold Graphs: No 'main' function found!\n"; } for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) - if (!I->isExternal()) + if (!I->isDeclaration()) processSCC(getOrCreateGraph(*I), Stack, NextID, ValMap); DEBUG(CheckAllGraphs(&M, *this)); @@ -105,7 +105,7 @@ // Merge the globals variables (not the calls) from the globals graph back // into the main function's graph so that the main function contains all of // the information about global pools and GV usage in the program. - if (MainFunc && !MainFunc->isExternal()) { + if (MainFunc && !MainFunc->isDeclaration()) { DSGraph &MainGraph = getOrCreateGraph(*MainFunc); const DSGraph &GG = *MainGraph.getGlobalsGraph(); ReachabilityCloner RC(MainGraph, GG, @@ -163,7 +163,7 @@ Instruction *LastInst = 0; Function *FirstFunc = 0; for (ActualCalleesTy::const_iterator I=AC.begin(), E=AC.end(); I != E; ++I) { - if (I->second->isExternal()) + if (I->second->isDeclaration()) continue; // Ignore functions we cannot modify CallSite CS = CallSite::get(I->first); @@ -335,7 +335,7 @@ // Loop over all of the actually called functions... for (callee_iterator I = callee_begin(Call), E = callee_end(Call); I != E; ++I) - if (!I->second->isExternal()) { + if (!I->second->isDeclaration()) { // Process the callee as necessary. unsigned M = processSCC(getOrCreateGraph(*I->second), Stack, NextID, ValMap); @@ -412,7 +412,7 @@ // Loop over all potential callees to find the first non-external callee. for (TNum = 0, Num = std::distance(I, E); I != E; ++I, ++TNum) - if (!I->second->isExternal()) + if (!I->second->isDeclaration()) break; // Now check if the graph has changed and if so, clone and inline it. @@ -448,7 +448,7 @@ // same graph as the one inlined above. if (CalleeGraph) for (++I, ++TNum; I != E; ++I, ++TNum) - if (!I->second->isExternal()) + if (!I->second->isDeclaration()) assert(CalleeGraph == &getOrCreateGraph(*I->second) && "Callees at a call site have different graphs?"); #endif Index: llvm-poolalloc/lib/DSA/Local.cpp diff -u llvm-poolalloc/lib/DSA/Local.cpp:1.167 llvm-poolalloc/lib/DSA/Local.cpp:1.168 --- llvm-poolalloc/lib/DSA/Local.cpp:1.167 Mon Jan 22 10:40:38 2007 +++ llvm-poolalloc/lib/DSA/Local.cpp Fri Feb 23 16:49:32 2007 @@ -246,7 +246,7 @@ for (DSScalarMap::global_iterator I = ScalarMap.global_begin(); I != ScalarMap.global_end(); ++I) if (GlobalVariable *GV = dyn_cast<GlobalVariable>(*I)) - if (!GV->isExternal() && GV->isConstant()) + if (!GV->isDeclaration() && GV->isConstant()) RC.merge(ScalarMap[GV], GG->ScalarMap[GV]); } @@ -495,7 +495,7 @@ #else int FieldNo = CUI->getSExtValue(); #endif - Offset += (unsigned)TD.getStructLayout(STy)->MemberOffsets[FieldNo]; + Offset += (unsigned)TD.getStructLayout(STy)->getElementOffset(FieldNo); } else if (isa<PointerType>(*I)) { if (!isa<Constant>(I.getOperand()) || !cast<Constant>(I.getOperand())->isNullValue()) @@ -1430,7 +1430,7 @@ return; } #endif - if (F->isExternal()) + if (F->isDeclaration()) if (F->isIntrinsic() && visitIntrinsic(CS, F)) return; else { @@ -1581,10 +1581,10 @@ for (unsigned i = 0, e = CS->getNumOperands(); i != e; ++i) { DSNode *NHN = NH.getNode(); //Some programmers think ending a structure with a [0 x sbyte] is cute - if (SL->MemberOffsets[i] < SL->StructSize) { - DSNodeHandle NewNH(NHN, NH.getOffset()+(unsigned)SL->MemberOffsets[i]); + if (SL->getElementOffset(i) < SL->getSizeInBytes()) { + DSNodeHandle NewNH(NHN, NH.getOffset()+(unsigned)SL->getElementOffset(i)); MergeConstantInitIntoNode(NewNH, cast<Constant>(CS->getOperand(i))); - } else if (SL->MemberOffsets[i] == SL->StructSize) { + } else if (SL->getElementOffset(i) == SL->getSizeInBytes()) { DOUT << "Zero size element at end of struct\n"; NHN->foldNodeCompletely(); } else { @@ -1599,7 +1599,7 @@ } void GraphBuilder::mergeInGlobalInitializer(GlobalVariable *GV) { - assert(!GV->isExternal() && "Cannot merge in external global!"); + assert(!GV->isDeclaration() && "Cannot merge in external global!"); // Get a node handle to the global node and merge the initializer into it. DSNodeHandle NH = getValueDest(*GV); MergeConstantInitIntoNode(NH, GV->getInitializer()); @@ -1699,7 +1699,7 @@ // Add initializers for all of the globals to the globals graph. for (Module::global_iterator I = M.global_begin(), E = M.global_end(); I != E; ++I) - if (!I->isExternal()) + if (!I->isDeclaration()) GGB.mergeInGlobalInitializer(I); } @@ -1712,7 +1712,7 @@ // Calculate all of the graphs... for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) - if (!I->isExternal()) + if (!I->isDeclaration()) DSInfo.insert(std::make_pair(I, new DSGraph(GlobalECs, TD, *I, GlobalsGraph))); GlobalsGraph->removeTriviallyDeadNodes(); Index: llvm-poolalloc/lib/DSA/Steensgaard.cpp diff -u llvm-poolalloc/lib/DSA/Steensgaard.cpp:1.68 llvm-poolalloc/lib/DSA/Steensgaard.cpp:1.69 --- llvm-poolalloc/lib/DSA/Steensgaard.cpp:1.68 Wed Dec 13 23:51:06 2006 +++ llvm-poolalloc/lib/DSA/Steensgaard.cpp Fri Feb 23 16:49:32 2007 @@ -127,7 +127,7 @@ // into this graph. // for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) - if (!I->isExternal()) + if (!I->isDeclaration()) ResultGraph->spliceFrom(LDS.getDSGraph(*I)); ResultGraph->removeTriviallyDeadNodes(); @@ -157,7 +157,7 @@ for (unsigned c = 0; c != CallTargets.size(); ) { // If we can eliminate this function call, do so! Function *F = CallTargets[c]; - if (!F->isExternal()) { + if (!F->isDeclaration()) { ResolveFunctionCall(F, CurCall, ResultGraph->getReturnNodes()[F]); CallTargets[c] = CallTargets.back(); CallTargets.pop_back(); @@ -257,7 +257,7 @@ // points to a complete node, the external function cannot modify or read // the value (we know it's not passed out of the program!). if (Function *F = CS.getCalledFunction()) - if (F->isExternal()) + if (F->isDeclaration()) return NoModRef; // Otherwise, if the node is complete, but it is only M or R, return this. Index: llvm-poolalloc/lib/DSA/TopDownClosure.cpp diff -u llvm-poolalloc/lib/DSA/TopDownClosure.cpp:1.97 llvm-poolalloc/lib/DSA/TopDownClosure.cpp:1.98 --- llvm-poolalloc/lib/DSA/TopDownClosure.cpp:1.97 Wed Jan 10 12:10:32 2007 +++ llvm-poolalloc/lib/DSA/TopDownClosure.cpp Fri Feb 23 16:49:32 2007 @@ -89,7 +89,7 @@ // Functions without internal linkage also have unknown incoming arguments! for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) - if (!I->isExternal() && !I->hasInternalLinkage()) + if (!I->isDeclaration() && !I->hasInternalLinkage()) ArgsRemainIncomplete.insert(I); // We want to traverse the call graph in reverse post-order. To do this, we @@ -102,7 +102,7 @@ // Visit each of the graphs in reverse post-order now! for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) - if (!I->isExternal()) + if (!I->isDeclaration()) getOrCreateDSGraph(*I); return false; } @@ -112,7 +112,7 @@ {TIME_REGION(XXX, "td:Compute postorder"); // Calculate top-down from main... - if (Function *F = M.getMainFunction()) + if (Function *F = M.getFunction("main")) ComputePostOrder(*F, VisitedGraph, PostOrder); // Next calculate the graphs for each unreachable function... @@ -167,7 +167,7 @@ void TDDataStructures::ComputePostOrder(Function &F,hash_set<DSGraph*> &Visited, std::vector<DSGraph*> &PostOrder) { - if (F.isExternal()) return; + if (F.isDeclaration()) return; DSGraph &G = getOrCreateDSGraph(F); if (Visited.count(&G)) return; Visited.insert(&G); @@ -312,7 +312,7 @@ // Handle direct calls efficiently. if (CI->isDirectCall()) { - if (!CI->getCalleeFunc()->isExternal() && + if (!CI->getCalleeFunc()->isDeclaration() && !DSG.getReturnNodes().count(CI->getCalleeFunc())) CallerEdges[&getDSGraph(*CI->getCalleeFunc())] .push_back(CallerCallEdge(&DSG, &*CI, CI->getCalleeFunc())); @@ -341,7 +341,7 @@ // If there is exactly one callee from this call site, remember the edge in // CallerEdges. if (IPI == IPE) { - if (!FirstCallee->isExternal()) + if (!FirstCallee->isDeclaration()) CallerEdges[&getDSGraph(*FirstCallee)] .push_back(CallerCallEdge(&DSG, &*CI, FirstCallee)); continue; @@ -356,7 +356,7 @@ for (BUDataStructures::ActualCalleesTy::const_iterator I = BUInfo->callee_begin(CallI), E = BUInfo->callee_end(CallI); I != E; ++I) - if (!I->second->isExternal()) + if (!I->second->isDeclaration()) Callees.push_back(I->second); std::sort(Callees.begin(), Callees.end()); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits