Nuke isSideEffectFree

We can now compute the same result with Inst.mayHaveSideEffects(). NFC.

Swift SVN r25742
This commit is contained in:
Arnold Schwaighofer
2015-03-04 05:03:44 +00:00
parent 6bdedc769f
commit 951dc2875a
11 changed files with 17 additions and 69 deletions

View File

@@ -471,11 +471,8 @@ bool COWArrayOpt::isRetainReleasedBeforeMutate(SILInstruction *RetainInst,
if (ArrayUserSet.count(II)) // May be an array mutation.
break;
} else if (II->mayHaveSideEffects()) {
if (auto *BI = dyn_cast<BuiltinInst>(II))
if(isSideEffectFree(BI))
continue;
break;
} else if (!II->mayHaveSideEffects()) {
continue;
}
}
DEBUG(llvm::dbgs() << " Skipping Array: retained in loop!\n "
@@ -737,9 +734,6 @@ bool COWArrayOpt::hasLoopOnlyDestructorSafeArrayOperations() {
// Instructions without side effects are safe.
if (!Inst->mayHaveSideEffects())
continue;
if (auto *BI = dyn_cast<BuiltinInst>(Inst))
if(isSideEffectFree(BI))
continue;
if (isa<CondFailInst>(Inst))
continue;
if (isa<AllocationInst>(Inst) || isa<DeallocStackInst>(Inst))