[Attributor][NFC] Predetermine the module
It could happen that we delete the first function in the SCC in the
future so we should be careful accessing `Functions` after the manifest
stage.
diff --git a/llvm/lib/Transforms/IPO/Attributor.cpp b/llvm/lib/Transforms/IPO/Attributor.cpp
index 50071a2..0de59b3 100644
--- a/llvm/lib/Transforms/IPO/Attributor.cpp
+++ b/llvm/lib/Transforms/IPO/Attributor.cpp
@@ -8794,9 +8794,10 @@
A.identifyDefaultAbstractAttributes(*F);
}
+ Module &M = *Functions.front()->getParent();
+ (void)M;
ChangeStatus Changed = A.run();
- assert(!verifyModule(*Functions.front()->getParent(), &errs()) &&
- "Module verification failed!");
+ assert(!verifyModule(M, &errs()) && "Module verification failed!");
LLVM_DEBUG(dbgs() << "[Attributor] Done with " << Functions.size()
<< " functions, result: " << Changed << ".\n");
return Changed == ChangeStatus::CHANGED;