[llvm] [ObjCARC] Delete empty autoreleasepools with no autoreleases in them (PR #144788)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 19 08:57:26 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff HEAD~1 HEAD --extensions h,cpp -- llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp b/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
index 874549a44..eee58c781 100644
--- a/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
+++ b/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
@@ -2636,16 +2636,17 @@ void ObjCARCOpt::OptimizeAutoreleasePools(Function &F) {
// Remove the pairs and emit individual remarks
if (!DeadInsts.empty()) {
Changed = true;
-
+
// Emit one remark per eliminated pair for better source location tracking
for (auto &Pair : EmptyPoolPairs) {
CallInst *Push = Pair.first;
ORE.emit([&]() {
- return OptimizationRemark(DEBUG_TYPE, "AutoreleasePoolElimination", Push)
+ return OptimizationRemark(DEBUG_TYPE, "AutoreleasePoolElimination",
+ Push)
<< "eliminated empty autorelease pool pair";
});
}
-
+
for (CallInst *DeadInst : DeadInsts) {
LLVM_DEBUG(dbgs() << "Erasing dead instruction: " << *DeadInst << "\n");
DeadInst->eraseFromParent();
``````````
</details>
https://github.com/llvm/llvm-project/pull/144788
More information about the llvm-commits
mailing list