[llvm] [Arm] Fix UAF in https://github.com/llvm/llvm-project/pull/146198 (PR #146232)
Qinkun Bao via llvm-commits
llvm-commits at lists.llvm.org
Sat Jun 28 11:37:06 PDT 2025
https://github.com/qinkunbao created https://github.com/llvm/llvm-project/pull/146232
https://github.com/llvm/llvm-project/pull/146198 changes
```
for (unsigned i = 0, e = ImmBranches.size(); i != e; ++i)
BRChange |= fixupImmediateBr(ImmBranches[i]);
```
to
```
for (ImmBranch &Br : ImmBranches)
BRChange |= fixupImmediateBr(Br);
```
Unfortunately, they are not NFC and causes the buildbot error. e.g.,
https://lab.llvm.org/buildbot/#/builders/24/builds/9943
https://lab.llvm.org/buildbot/#/builders/169/builds/12570
Revoke the change to fix the bot.
>From eb22cea7e72ce067a29566d7769703cb469e9311 Mon Sep 17 00:00:00 2001
From: Qinkun Bao <qinkun at google.com>
Date: Sat, 28 Jun 2025 18:36:57 +0000
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
=?UTF-8?q?l=20version?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Created using spr 1.3.6
---
llvm/lib/Target/ARM/ARMConstantIslandPass.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp b/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
index e72aa8ef051cd..ca3dc15ff3ad6 100644
--- a/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
+++ b/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
@@ -476,8 +476,8 @@ bool ARMConstantIslands::runOnMachineFunction(MachineFunction &mf) {
LLVM_DEBUG(dbgs() << "Beginning BR iteration #" << NoBRIters << '\n');
bool BRChange = false;
- for (ImmBranch &Br : ImmBranches)
- BRChange |= fixupImmediateBr(Br);
+ for (unsigned i = 0, e = ImmBranches.size(); i != e; ++i)
+ BRChange |= fixupImmediateBr(ImmBranches[i]);
if (BRChange && ++NoBRIters > 30)
report_fatal_error("Branch Fix Up pass failed to converge!");
LLVM_DEBUG(dumpBBs());
More information about the llvm-commits
mailing list