diff options
-rw-r--r-- | compiler/cmm/CmmBuildInfoTables.hs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/cmm/CmmBuildInfoTables.hs b/compiler/cmm/CmmBuildInfoTables.hs index 9c05a8fe29..bde52de3af 100644 --- a/compiler/cmm/CmmBuildInfoTables.hs +++ b/compiler/cmm/CmmBuildInfoTables.hs @@ -727,7 +727,7 @@ oneSRT dflags staticFuns blockids lbls isCAF cafs = do -- important that we don't do this for static functions or CAFs, -- see Note [Invalid optimisation: shortcutting]. updateSRTMap srtEntry = - when (not isCAF && not isStaticFun) $ do + when (not isCAF && (not isStaticFun || isNothing srtEntry)) $ do let newSRTMap = Map.fromList [(cafLbl, srtEntry) | cafLbl <- lbls] put (Map.union newSRTMap srtMap) |