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 |