With Simon's help I figured it out. I'm now refactoring StgCmmPrimOp so it's easier to have primops that have both inline and out-of-line implementations in the future.
On Fri, Mar 7, 2014 at 3:19 PM, Carter Schonwald <[email protected] > wrote: > Have you looked at some of the lowering code for other primops? What info > are you missing? > > > On Friday, March 7, 2014, Johan Tibell <[email protected]> wrote: > >> Hi, >> >> I'm trying to make allocation of arrays of small, statically-known size >> inline. For large or unknown size I just want to call the existing >> stg_newArrayzh function. In code: >> >> doNewArrayOp :: DynFlags -> CmmFormal -> CmmExpr -> FCode () >> doNewArrayOp dflags res_r (CmmLit (CmmInt n _)) | n <= inlineAllocLimit = >> do >> -- Do everything inline. >> doNewArrayOp dflags res_r n = do >> emitCallTo "stg_newArrayzh" res_r n -- HERE >> >> The question is: how do I emit a call to stg_newArrayzh, which is defined >> in PrimOps.cmm? >> >> -- Johan >> >>
_______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
