Adjust to changes in APIs

llvm-svn: 19958
This commit is contained in:
Chris Lattner 2005-02-01 01:23:31 +00:00
parent f98a7bffb3
commit d6a4492f81
2 changed files with 10 additions and 16 deletions

View File

@ -98,11 +98,11 @@ static bool ResolveFunctions(Module &M, std::vector<GlobalValue*> &Globals,
// functions and that the Old function has no varargs fns specified. In
// otherwords it's just <retty> (...)
//
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);
}

View File

@ -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<LoadInst>(GV->use_back())) {
while (!LI->use_empty()) {
// FIXME: the iterator should expose a getUse() method.
Use &LoadUse = *(const iplist<Use>::iterator&)LI->use_begin();
Use &LoadUse = LI->use_begin().getUse();
if (!isa<SetCondInst>(LoadUse.getUser()))
LoadUse = RepValue;
else {