mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-04 05:31:06 +00:00
Adjust to changes in APIs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19958 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5a87447286
commit
d514d8294d
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user