Forked from
Glasgow Haskell Compiler / GHC
5597 commits behind the upstream repository.
-
StgCse can revive dead binders: case foo of dead { Foo x y -> Foo x y; ... } ===> case foo of dead { Foo x y -> dead; ... } -- dead is no longer dead So we must zap occurrence information on case binders. Fix #14895 and #24233
StgCse can revive dead binders: case foo of dead { Foo x y -> Foo x y; ... } ===> case foo of dead { Foo x y -> dead; ... } -- dead is no longer dead So we must zap occurrence information on case binders. Fix #14895 and #24233
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
T14895.stderr 571 B
==================== Final STG: ====================
T14895.go
:: forall a b.
(a -> b)
-> Data.Either.Either GHC.Base.String a
-> Data.Either.Either GHC.Base.String b
[GblId, Arity=2, Str=<MC(1,L)><1L>, Unf=OtherCon []] =
{} \r [f ds]
case ds of wild {
Data.Either.Left e [Occ=Once1] -> wild<TagProper>;
Data.Either.Right a1 [Occ=Once1] ->
let {
sat [Occ=Once1] :: b
[LclId] =
{a1, f} \u [] f a1;
} in Data.Either.Right [sat];
};