From: Chris Lattner Date: Tue, 1 Feb 2005 01:23:31 +0000 (+0000) Subject: Adjust to changes in APIs X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d514d8294d13e6a695ed324b415d3a9263313355;p=oota-llvm.git Adjust to changes in APIs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19958 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/IPO/FunctionResolution.cpp b/lib/Transforms/IPO/FunctionResolution.cpp index b63d98c20dc..090755b25cc 100644 --- a/lib/Transforms/IPO/FunctionResolution.cpp +++ b/lib/Transforms/IPO/FunctionResolution.cpp @@ -98,11 +98,11 @@ static bool ResolveFunctions(Module &M, std::vector &Globals, // functions and that the Old function has no varargs fns specified. In // otherwords it's just (...) // - if (!Old->use_empty()) { // Avoid making the CPR unless we really need it + if (!Old->use_empty()) { Value *Replacement = Concrete; if (Concrete->getType() != Old->getType()) - Replacement = ConstantExpr::getCast(Concrete,Old->getType()); - NumResolved += Old->use_size(); + Replacement = ConstantExpr::getCast(Concrete, Old->getType()); + NumResolved += Old->getNumUses(); Old->replaceAllUsesWith(Replacement); } diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index 1068052f1cb..f2c9647e130 100644 --- a/lib/Transforms/IPO/GlobalOpt.cpp +++ b/lib/Transforms/IPO/GlobalOpt.cpp @@ -361,7 +361,8 @@ static GlobalVariable *SRAGlobal(GlobalVariable *GV) { else assert(0 && "Unknown aggregate sequential type!"); - if (NumElements > 16 && GV->use_size() > 16) return 0; // It's not worth it. + if (NumElements > 16 && GV->getNumUses() > 16) + return 0; // It's not worth it. NewGlobals.reserve(NumElements); for (unsigned i = 0, e = NumElements; i != e; ++i) { Constant *In = getAggregateConstantElement(Init, @@ -614,17 +615,11 @@ static void ConstantPropUsersOf(Value *V) { if (Constant *NewC = ConstantFoldInstruction(I)) { I->replaceAllUsesWith(NewC); - // Back up UI to avoid invalidating it! - bool AtBegin = false; - if (UI == V->use_begin()) - AtBegin = true; - else - --UI; - I->eraseFromParent(); - if (AtBegin) - UI = V->use_begin(); - else + // Advance UI to the next non-I use to avoid invalidating it! + // Instructions could multiply use V. + while (UI != E && *UI == I) ++UI; + I->eraseFromParent(); } } @@ -683,8 +678,7 @@ static GlobalVariable *OptimizeGlobalAddressOfMalloc(GlobalVariable *GV, while (!GV->use_empty()) if (LoadInst *LI = dyn_cast(GV->use_back())) { while (!LI->use_empty()) { - // FIXME: the iterator should expose a getUse() method. - Use &LoadUse = *(const iplist::iterator&)LI->use_begin(); + Use &LoadUse = LI->use_begin().getUse(); if (!isa(LoadUse.getUser())) LoadUse = RepValue; else {