
So we should be able to distinguish between a user-supplied INLINE
#14186: CSE fails to CSE two identical large top-level functions -------------------------------------+------------------------------------- Reporter: nomeata | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by nomeata): pragma inl_inline and one supplied the w/w pass. Are you saying that we can do that already, without changes to `BasicTypes`, or that we should extend `BasicTypes` to be able to do that? The current code in WorkWrap is {{{ wrap_act = ActiveAfter NoSourceText 0 wrap_prag = InlinePragma { inl_src = SourceText "{-# INLINE" , inl_inline = Inline , inl_sat = Nothing , inl_act = wrap_act , inl_rule = rule_match_info } }}} and unless I check for `NoSourceText`, this seems to be indistinguishable from a `INLINE[0]` in the source. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14186#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler