summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
diff options
context:
space:
mode:
authorSerguei Katkov <serguei.katkov@azul.com>2019-08-22 10:06:46 +0000
committerSerguei Katkov <serguei.katkov@azul.com>2019-08-22 10:06:46 +0000
commit036e636aa7fc6d367ac19197936f3320f28214b0 (patch)
tree8348f329b6b0433ba45f5716b6ce1773e597c922 /llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
parentcd53ff6c0df5f75c4c15abffa18755a8768fc6b3 (diff)
downloadbcm5719-llvm-036e636aa7fc6d367ac19197936f3320f28214b0.tar.gz
bcm5719-llvm-036e636aa7fc6d367ac19197936f3320f28214b0.zip
[Loop Peeling] Fix silly bug in metadata update.
We must update loop metedata before we moved to parent loop if it is present. llvm-svn: 369637
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp b/llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
index 3fad421f58f..58e42074f96 100644
--- a/llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
+++ b/llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
@@ -741,6 +741,12 @@ bool llvm::peelLoop(Loop *L, unsigned PeelCount, LoopInfo *LI,
fixupBranchWeights(Header, LatchBR, ExitWeight, FallThroughWeight);
+ // Update Metadata for count of peeled off iterations.
+ unsigned AlreadyPeeled = 0;
+ if (auto Peeled = getOptionalIntLoopAttribute(L, PeeledCountMetaData))
+ AlreadyPeeled = *Peeled;
+ addStringMetadataToLoop(L, PeeledCountMetaData, AlreadyPeeled + PeelCount);
+
if (Loop *ParentLoop = L->getParentLoop())
L = ParentLoop;
@@ -755,11 +761,5 @@ bool llvm::peelLoop(Loop *L, unsigned PeelCount, LoopInfo *LI,
NumPeeled++;
- // Update Metadata for count of peeled off iterations.
- unsigned AlreadyPeeled = 0;
- if (auto Peeled = getOptionalIntLoopAttribute(L, PeeledCountMetaData))
- AlreadyPeeled = *Peeled;
- addStringMetadataToLoop(L, PeeledCountMetaData, AlreadyPeeled + PeelCount);
-
return true;
}
OpenPOWER on IntegriCloud