Make constructor wrappers inline only during the final phase
authorArnaud Spiwack <arnaud.spiwack@tweag.io>
Thu, 15 Nov 2018 16:14:31 +0000 (17:14 +0100)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Tue, 19 Feb 2019 11:14:04 +0000 (06:14 -0500)
commitb78cc64e923716ac0512c299f42d4d0012306c05
tree5113626a6e3389c06a5dd737db5e4c351b6e0425
parent9049bfb1773cf114fd4e2d2d6daed46af2b73093
Make constructor wrappers inline only during the final phase

For case-of-known constructor to continue triggering early,
exprIsConApp_maybe is now capable of looking through lets and cases.

See #15840
14 files changed:
compiler/basicTypes/Id.hs
compiler/basicTypes/MkId.hs
compiler/coreSyn/CoreOpt.hs
compiler/coreSyn/MkCore.hs
compiler/prelude/PrelRules.hs
compiler/simplCore/FloatIn.hs
compiler/simplCore/Simplify.hs
testsuite/tests/deSugar/should_compile/T2431.stderr
testsuite/tests/simplCore/should_compile/T7360.stderr
testsuite/tests/simplCore/should_run/T15840.hs [new file with mode: 0644]
testsuite/tests/simplCore/should_run/T15840.stdout [new file with mode: 0644]
testsuite/tests/simplCore/should_run/T15840a.hs [new file with mode: 0644]
testsuite/tests/simplCore/should_run/T15840a.stdout [new file with mode: 0644]
testsuite/tests/simplCore/should_run/all.T