• Duncan Coutts's avatar
    Add PrimCall to the STG layer and update Core -> STG translation · cbbee4e8
    Duncan Coutts authored
    It adds a third case to StgOp which already hold StgPrimOp and StgFCallOp.
    The code generation for the new StgPrimCallOp case is almost exactly the
    same as for out-of-line primops. They now share the tailCallPrim function.
    In the Core -> STG translation we map foreign calls using the "prim"
    calling convention to the StgPrimCallOp case. This is because in Core we
    represent prim calls using the ForeignCall stuff. At the STG level however
    the prim calls are really much more like primops than foreign calls.
CLabel.hs 36 KB