Emitting calls to functions defined in PrimOps.cmm from the code gen
johan.tibell at gmail.com
Fri Mar 7 15:23:20 UTC 2014
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 <carter.schonwald at gmail.com
> Have you looked at some of the lowering code for other primops? What info
> are you missing?
> On Friday, March 7, 2014, Johan Tibell <johan.tibell at gmail.com> wrote:
>> 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 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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ghc-devs