Jaro Reinders pushed to branch wip/reduce-type-in-stg at Glasgow Haskell Compiler / GHC

Commits:

2 changed files:

Changes:

  • compiler/GHC/CoreToStg.hs
    ... ... @@ -548,10 +548,10 @@ mkStgApp f how_bound core_args stg_args res_ty
    548 548
                else
    
    549 549
                   StgConApp dc NoNumber stg_args []
    
    550 550
     
    
    551
    -      -- We rewrite the 'tagToEnum#' primop to a special 'StgTagToEnumOp' which 
    
    551
    +      -- We rewrite the 'tagToEnum#' primop to a special 'StgTagToEnumOp' which
    
    552 552
           -- stores the type constructor information. See Note [tagToEnum# in STG]
    
    553 553
           -- in GHC.Stg.Syntax.
    
    554
    -      PrimOpId TagToEnumOp _ -> 
    
    554
    +      PrimOpId TagToEnumOp _ ->
    
    555 555
             StgOpApp (StgTagToEnumOp (tcTyConAppTyCon res_ty)) stg_args
    
    556 556
     
    
    557 557
           -- Some primitive operator that might be implemented as a library call.
    

  • compiler/GHC/StgToCmm/Prim.hs
    ... ... @@ -1682,7 +1682,7 @@ emitPrimOp cfg primop =
    1682 1682
         then Left (MO_S_Mul2     (wordWidth platform))
    
    1683 1683
         else Right genericIntMul2Op
    
    1684 1684
     
    
    1685
    -  -- 'tagToEnum#' is removed in CoreToStg and rewritten to a special 
    
    1685
    +  -- 'tagToEnum#' is removed in CoreToStg and rewritten to a special
    
    1686 1686
       -- 'StgTagToEnumOp' from GHC.Stg.Syntax instead.
    
    1687 1687
       -- See Note [tagToEnum# in STG] in GHC.Stg.Syntax
    
    1688 1688
       TagToEnumOp -> panic "emitPrimOp: TagToEnumOp should have been gone by now"