summaryrefslogtreecommitdiff
path: root/libffi
diff options
context:
space:
mode:
authorSebastian Graf <sebastian.graf@kit.edu>2021-10-13 17:25:30 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-10-29 05:02:25 -0400
commit925c47b46529d202190f18bd653a6945caa51823 (patch)
treeabcd83a8a9e7e6cac99025850a6e762f609dfbb6 /libffi
parent7170052651ff02bfcf1e9611f0813dd20a7c8558 (diff)
downloadhaskell-925c47b46529d202190f18bd653a6945caa51823.tar.gz
WorkWrap: Update Unfolding with WW'd body prior to `tryWW` (#20510)
We have a function in #20510 that is small enough to get a stable unfolding in WW: ```hs small :: Int -> Int small x = go 0 x where go z 0 = z * x go z y = go (z+y) (y-1) ``` But it appears we failed to use the WW'd RHS as the stable unfolding. As a result, inlining `small` would expose the non-WW'd version of `go`. That appears to regress badly in #19727 which is a bit too large to extract a reproducer from that is guaranteed to reproduce across GHC versions. The solution is to simply update the unfolding in `certainlyWillInline` with the WW'd RHS. Fixes #20510.
Diffstat (limited to 'libffi')
0 files changed, 0 insertions, 0 deletions