X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=compiler%2FbasicTypes%2FBasicTypes.lhs;fp=compiler%2FbasicTypes%2FBasicTypes.lhs;h=499d7beab472f95f67b531767fc5d730ae4cbd61;hb=f95a95425727fd0086df26f7d47f79c911e04b34;hp=ce47e5841ab14f3dd86dc8f5c970afb971340af2;hpb=32bb9e8779002fdf44b1646c1d3ded7310041734;p=ghc-hetmet.git diff --git a/compiler/basicTypes/BasicTypes.lhs b/compiler/basicTypes/BasicTypes.lhs index ce47e58..499d7be 100644 --- a/compiler/basicTypes/BasicTypes.lhs +++ b/compiler/basicTypes/BasicTypes.lhs @@ -65,7 +65,8 @@ module BasicTypes( InlineSpec(..), InlinePragma(..), defaultInlinePragma, alwaysInlinePragma, neverInlinePragma, dfunInlinePragma, - isDefaultInlinePragma, isInlinePragma, isInlinablePragma, + isDefaultInlinePragma, + isInlinePragma, isInlinablePragma, isAnyInlinePragma, inlinePragmaSpec, inlinePragmaSat, inlinePragmaActivation, inlinePragmaRuleMatchInfo, setInlinePragmaActivation, setInlinePragmaRuleMatchInfo, @@ -736,11 +737,6 @@ isFunLike :: RuleMatchInfo -> Bool isFunLike FunLike = True isFunLike _ = False -isInlineSpec :: InlineSpec -> Bool -isInlineSpec Inline = True -isInlineSpec Inlinable = True -isInlineSpec _ = False - isEmptyInlineSpec :: InlineSpec -> Bool isEmptyInlineSpec EmptyInlineSpec = True isEmptyInlineSpec _ = False @@ -772,13 +768,22 @@ isDefaultInlinePragma (InlinePragma { inl_act = activation = isEmptyInlineSpec inline && isAlwaysActive activation && isFunLike match_info isInlinePragma :: InlinePragma -> Bool -isInlinePragma prag = isInlineSpec (inl_inline prag) +isInlinePragma prag = case inl_inline prag of + Inline -> True + _ -> False isInlinablePragma :: InlinePragma -> Bool isInlinablePragma prag = case inl_inline prag of Inlinable -> True _ -> False +isAnyInlinePragma :: InlinePragma -> Bool +-- INLINE or INLINABLE +isAnyInlinePragma prag = case inl_inline prag of + Inline -> True + Inlinable -> True + _ -> False + inlinePragmaSat :: InlinePragma -> Maybe Arity inlinePragmaSat = inl_sat