[PATCH] D158642: LoopUnrollRuntime: Add weights to all branches
Hongtao Yu via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 1 09:54:35 PDT 2023
hoy added inline comments.
================
Comment at: llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp:783
+ MDBuilder MDB(B.getContext());
+ BranchWeights = MDB.createBranchWeights(1, 127);
+ }
----------------
mtrofin wrote:
> one thought about the 1:127 ratio: how about we had a `MDBuilder::createUnrolledLoopSkipWeights()` doing the setting - more readable, API captures the intent, etc?
Can this be computed based on the loop preheader count and the main loop trip count? IIUC, the block execution count of the preheader indicates how many times the loop is entered from outside the loop. Thus that the loop trip count divided by the preheader count indicates an average trip count per loop execution. If that is greater than the unrolling factor, then the unrolled loop should be always executed?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D158642/new/
https://reviews.llvm.org/D158642
More information about the llvm-commits
mailing list