Investigate differences in Int-In/Outlining
In one case the numbers get floated out and in the others they stay in the alternative.
This results in one being compiled as a CAF while the other gets recreated on the heap.
{-# LANGUAGE MagicHash, BangPatterns, ScopedTypeVariables #-}
import GHC.Prim
import GHC.Exts
func :: Int# -> Int# -> Int
func 1# 1# = 10
func 1# 2# = 20
foo :: Int# -> Int# -> Int
foo 1# 1# = 30
foo 2# 1# = 40
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.2.2 |
| Type | Task |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |