[llvm] Unroll loops apple (PR #149358)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 23 11:50:02 PDT 2025
================
@@ -4821,9 +4821,16 @@ getAppleRuntimeUnrollPreferences(Loop *L, ScalarEvolution &SE,
const SCEV *PtrSCEV = SE.getSCEV(Ptr);
if (SE.isLoopInvariant(PtrSCEV, L))
continue;
- if (isa<LoadInst>(&I))
- LoadedValues.insert(&I);
- else
+ if (isa<LoadInst>(&I)) {
+ LoadedValuesPlus.insert(&I);
+ // Included 1st users of loaded values
+ for (auto *U : I.users()) {
+ auto *Inst = dyn_cast<Instruction>(U);
+ if (!Inst || Inst->getParent() != BB)
+ continue;
+ LoadedValuesPlus.insert(U);
----------------
fhahn wrote:
Is there any benefit from have a second set or can it just be one?
https://github.com/llvm/llvm-project/pull/149358
More information about the llvm-commits
mailing list