Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 6e204a966e8c42d976f99a1700ce5f20 > files > 3084

ghc-7.4.2-4.mga5.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>StgCmmUtils</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_StgCmmUtils.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ghc-7.4.2: The GHC API</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">StgCmmUtils</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:cgLit">cgLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> <a href="CmmExpr.html#t:CmmLit">CmmLit</a></li><li class="src short"><a href="#v:mkSimpleLit">mkSimpleLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></li><li class="src short"><a href="#v:emitDataLits">emitDataLits</a> :: <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; [<a href="CmmExpr.html#t:CmmLit">CmmLit</a>] -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</li><li class="src short"><a href="#v:mkDataLits">mkDataLits</a> ::  <a href="Cmm.html#t:Section">Section</a> -&gt; <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; [<a href="CmmExpr.html#t:CmmLit">CmmLit</a>] -&gt; <a href="Cmm.html#t:GenCmmDecl">GenCmmDecl</a> <a href="Cmm.html#t:CmmStatics">CmmStatics</a> info stmt</li><li class="src short"><a href="#v:emitRODataLits">emitRODataLits</a> :: <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; [<a href="CmmExpr.html#t:CmmLit">CmmLit</a>] -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</li><li class="src short"><a href="#v:mkRODataLits">mkRODataLits</a> ::  <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; [<a href="CmmExpr.html#t:CmmLit">CmmLit</a>] -&gt; <a href="Cmm.html#t:GenCmmDecl">GenCmmDecl</a> <a href="Cmm.html#t:CmmStatics">CmmStatics</a> info stmt</li><li class="src short"><a href="#v:emitRtsCall">emitRtsCall</a> :: <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; [(<a href="CmmExpr.html#t:CmmExpr">CmmExpr</a>, <a href="CmmNode.html#t:ForeignHint">ForeignHint</a>)] -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</li><li class="src short"><a href="#v:emitRtsCallWithVols">emitRtsCallWithVols</a> :: <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; [(<a href="CmmExpr.html#t:CmmExpr">CmmExpr</a>, <a href="CmmNode.html#t:ForeignHint">ForeignHint</a>)] -&gt; [<a href="CmmExpr.html#t:GlobalReg">GlobalReg</a>] -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</li><li class="src short"><a href="#v:emitRtsCallWithResult">emitRtsCallWithResult</a> :: <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmNode.html#t:ForeignHint">ForeignHint</a> -&gt; <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; [(<a href="CmmExpr.html#t:CmmExpr">CmmExpr</a>, <a href="CmmNode.html#t:ForeignHint">ForeignHint</a>)] -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</li><li class="src short"><a href="#v:emitRtsCallGen">emitRtsCallGen</a> :: [(<a href="CmmExpr.html#t:LocalReg">LocalReg</a>, <a href="CmmNode.html#t:ForeignHint">ForeignHint</a>)] -&gt; <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; [(<a href="CmmExpr.html#t:CmmExpr">CmmExpr</a>, <a href="CmmNode.html#t:ForeignHint">ForeignHint</a>)] -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="CmmExpr.html#t:GlobalReg">GlobalReg</a>] -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</li><li class="src short"><a href="#v:assignTemp">assignTemp</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></li><li class="src short"><a href="#v:newTemp">newTemp</a> :: <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></li><li class="src short"><a href="#v:withTemp">withTemp</a> :: <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; (<a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a>) -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></li><li class="src short"><a href="#v:newUnboxedTupleRegs">newUnboxedTupleRegs</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ([<a href="CmmExpr.html#t:LocalReg">LocalReg</a>], [<a href="CmmNode.html#t:ForeignHint">ForeignHint</a>])</li><li class="src short"><a href="#v:mkMultiAssign">mkMultiAssign</a> :: [<a href="CmmExpr.html#t:LocalReg">LocalReg</a>] -&gt; [<a href="CmmExpr.html#t:CmmExpr">CmmExpr</a>] -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></li><li class="src short"><a href="#v:mkCmmSwitch">mkCmmSwitch</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; [(<a href="StgCmmClosure.html#t:ConTagZ">ConTagZ</a>, <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a>)] -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a> -&gt; <a href="StgCmmClosure.html#t:ConTagZ">ConTagZ</a> -&gt; <a href="StgCmmClosure.html#t:ConTagZ">ConTagZ</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></li><li class="src short"><a href="#v:mkCmmLitSwitch">mkCmmLitSwitch</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; [(<a href="Literal.html#t:Literal">Literal</a>, <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a>)] -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></li><li class="src short"><a href="#v:emitSwitch">emitSwitch</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; [(<a href="StgCmmClosure.html#t:ConTagZ">ConTagZ</a>, <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a>)] -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a> -&gt; <a href="StgCmmClosure.html#t:ConTagZ">ConTagZ</a> -&gt; <a href="StgCmmClosure.html#t:ConTagZ">ConTagZ</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</li><li class="src short"><a href="#v:tagToClosure">tagToClosure</a> :: <a href="TyCon.html#t:TyCon">TyCon</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:mkTaggedObjectLoad">mkTaggedObjectLoad</a> :: <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="StgCmmClosure.html#t:DynTag">DynTag</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></li><li class="src short"><a href="#v:callerSaves">callerSaves</a> :: <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:callerSaveVolatileRegs">callerSaveVolatileRegs</a> :: (<a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a>, <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a>)</li><li class="src short"><a href="#v:get_GlobalReg_addr">get_GlobalReg_addr</a> :: <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmAndWord">cmmAndWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmOrWord">cmmOrWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmNegate">cmmNegate</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmEqWord">cmmEqWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmNeWord">cmmNeWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmUGtWord">cmmUGtWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmSubWord">cmmSubWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmMulWord">cmmMulWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmAddWord">cmmAddWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmUShrWord">cmmUShrWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmOffsetExprW">cmmOffsetExprW</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmOffsetExprB">cmmOffsetExprB</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmRegOffW">cmmRegOffW</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmRegOffB">cmmRegOffB</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a> -&gt; <a href="SMRep.html#t:ByteOff">ByteOff</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmLabelOffW">cmmLabelOffW</a> :: <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></li><li class="src short"><a href="#v:cmmLabelOffB">cmmLabelOffB</a> :: <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; <a href="SMRep.html#t:ByteOff">ByteOff</a> -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></li><li class="src short"><a href="#v:cmmOffsetW">cmmOffsetW</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmOffsetB">cmmOffsetB</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="SMRep.html#t:ByteOff">ByteOff</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmOffsetLitW">cmmOffsetLitW</a> :: <a href="CmmExpr.html#t:CmmLit">CmmLit</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></li><li class="src short"><a href="#v:cmmOffsetLitB">cmmOffsetLitB</a> :: <a href="CmmExpr.html#t:CmmLit">CmmLit</a> -&gt; <a href="SMRep.html#t:ByteOff">ByteOff</a> -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></li><li class="src short"><a href="#v:cmmLoadIndexW">cmmLoadIndexW</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmConstrTag">cmmConstrTag</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmConstrTag1">cmmConstrTag1</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmUntag">cmmUntag</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmIsTagged">cmmIsTagged</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:cmmGetTag">cmmGetTag</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><a href="#v:addToMem">addToMem</a> :: <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></li><li class="src short"><a href="#v:addToMemE">addToMemE</a> :: <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></li><li class="src short"><a href="#v:addToMemLbl">addToMemLbl</a> :: <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></li><li class="src short"><a href="#v:mkWordCLit">mkWordCLit</a> :: <a href="SMRep.html#t:StgWord">StgWord</a> -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></li><li class="src short"><a href="#v:newStringCLit">newStringCLit</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> <a href="CmmExpr.html#t:CmmLit">CmmLit</a></li><li class="src short"><a href="#v:newByteStringCLit">newByteStringCLit</a> :: [<a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>] -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> <a href="CmmExpr.html#t:CmmLit">CmmLit</a></li><li class="src short"><a href="#v:packHalfWordsCLit">packHalfWordsCLit</a> :: (<a href="../base-4.5.1.0/Prelude.html#t:Integral">Integral</a> a, <a href="../base-4.5.1.0/Prelude.html#t:Integral">Integral</a> b) =&gt; a -&gt; b -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></li><li class="src short"><a href="#v:blankWord">blankWord</a> :: <a href="Cmm.html#t:CmmStatic">CmmStatic</a></li><li class="src short"><a href="#v:getSRTInfo">getSRTInfo</a> :: <a href="StgSyn.html#t:SRT">SRT</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> <a href="Cmm.html#t:C_SRT">C_SRT</a></li><li class="src short"><a href="#v:srt_escape">srt_escape</a> :: <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:cgLit" class="def">cgLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> <a href="CmmExpr.html#t:CmmLit">CmmLit</a></p></div><div class="top"><p class="src"><a name="v:mkSimpleLit" class="def">mkSimpleLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></p></div><div class="top"><p class="src"><a name="v:emitDataLits" class="def">emitDataLits</a> :: <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; [<a href="CmmExpr.html#t:CmmLit">CmmLit</a>] -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</p></div><div class="top"><p class="src"><a name="v:mkDataLits" class="def">mkDataLits</a> ::  <a href="Cmm.html#t:Section">Section</a> -&gt; <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; [<a href="CmmExpr.html#t:CmmLit">CmmLit</a>] -&gt; <a href="Cmm.html#t:GenCmmDecl">GenCmmDecl</a> <a href="Cmm.html#t:CmmStatics">CmmStatics</a> info stmt</p></div><div class="top"><p class="src"><a name="v:emitRODataLits" class="def">emitRODataLits</a> :: <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; [<a href="CmmExpr.html#t:CmmLit">CmmLit</a>] -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</p></div><div class="top"><p class="src"><a name="v:mkRODataLits" class="def">mkRODataLits</a> ::  <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; [<a href="CmmExpr.html#t:CmmLit">CmmLit</a>] -&gt; <a href="Cmm.html#t:GenCmmDecl">GenCmmDecl</a> <a href="Cmm.html#t:CmmStatics">CmmStatics</a> info stmt</p></div><div class="top"><p class="src"><a name="v:emitRtsCall" class="def">emitRtsCall</a> :: <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; [(<a href="CmmExpr.html#t:CmmExpr">CmmExpr</a>, <a href="CmmNode.html#t:ForeignHint">ForeignHint</a>)] -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</p></div><div class="top"><p class="src"><a name="v:emitRtsCallWithVols" class="def">emitRtsCallWithVols</a> :: <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; [(<a href="CmmExpr.html#t:CmmExpr">CmmExpr</a>, <a href="CmmNode.html#t:ForeignHint">ForeignHint</a>)] -&gt; [<a href="CmmExpr.html#t:GlobalReg">GlobalReg</a>] -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</p></div><div class="top"><p class="src"><a name="v:emitRtsCallWithResult" class="def">emitRtsCallWithResult</a> :: <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmNode.html#t:ForeignHint">ForeignHint</a> -&gt; <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; [(<a href="CmmExpr.html#t:CmmExpr">CmmExpr</a>, <a href="CmmNode.html#t:ForeignHint">ForeignHint</a>)] -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</p></div><div class="top"><p class="src"><a name="v:emitRtsCallGen" class="def">emitRtsCallGen</a> :: [(<a href="CmmExpr.html#t:LocalReg">LocalReg</a>, <a href="CmmNode.html#t:ForeignHint">ForeignHint</a>)] -&gt; <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; [(<a href="CmmExpr.html#t:CmmExpr">CmmExpr</a>, <a href="CmmNode.html#t:ForeignHint">ForeignHint</a>)] -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="CmmExpr.html#t:GlobalReg">GlobalReg</a>] -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</p></div><div class="top"><p class="src"><a name="v:assignTemp" class="def">assignTemp</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></p></div><div class="top"><p class="src"><a name="v:newTemp" class="def">newTemp</a> :: <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></p></div><div class="top"><p class="src"><a name="v:withTemp" class="def">withTemp</a> :: <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; (<a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a>) -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></p></div><div class="top"><p class="src"><a name="v:newUnboxedTupleRegs" class="def">newUnboxedTupleRegs</a> :: <a href="Type.html#t:Type">Type</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ([<a href="CmmExpr.html#t:LocalReg">LocalReg</a>], [<a href="CmmNode.html#t:ForeignHint">ForeignHint</a>])</p></div><div class="top"><p class="src"><a name="v:mkMultiAssign" class="def">mkMultiAssign</a> :: [<a href="CmmExpr.html#t:LocalReg">LocalReg</a>] -&gt; [<a href="CmmExpr.html#t:CmmExpr">CmmExpr</a>] -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></p></div><div class="top"><p class="src"><a name="v:mkCmmSwitch" class="def">mkCmmSwitch</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; [(<a href="StgCmmClosure.html#t:ConTagZ">ConTagZ</a>, <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a>)] -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a> -&gt; <a href="StgCmmClosure.html#t:ConTagZ">ConTagZ</a> -&gt; <a href="StgCmmClosure.html#t:ConTagZ">ConTagZ</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></p></div><div class="top"><p class="src"><a name="v:mkCmmLitSwitch" class="def">mkCmmLitSwitch</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; [(<a href="Literal.html#t:Literal">Literal</a>, <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a>)] -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></p></div><div class="top"><p class="src"><a name="v:emitSwitch" class="def">emitSwitch</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; [(<a href="StgCmmClosure.html#t:ConTagZ">ConTagZ</a>, <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a>)] -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a> -&gt; <a href="StgCmmClosure.html#t:ConTagZ">ConTagZ</a> -&gt; <a href="StgCmmClosure.html#t:ConTagZ">ConTagZ</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> ()</p></div><div class="top"><p class="src"><a name="v:tagToClosure" class="def">tagToClosure</a> :: <a href="TyCon.html#t:TyCon">TyCon</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:mkTaggedObjectLoad" class="def">mkTaggedObjectLoad</a> :: <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="StgCmmClosure.html#t:DynTag">DynTag</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></p></div><div class="top"><p class="src"><a name="v:callerSaves" class="def">callerSaves</a> :: <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>Returns <code><a href="../base-4.5.1.0/Data-Bool.html#v:True">True</a></code> if this global register is stored in a caller-saves
 machine register.
</p></div></div><div class="top"><p class="src"><a name="v:callerSaveVolatileRegs" class="def">callerSaveVolatileRegs</a> :: (<a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a>, <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a>)</p></div><div class="top"><p class="src"><a name="v:get_GlobalReg_addr" class="def">get_GlobalReg_addr</a> :: <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmAndWord" class="def">cmmAndWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmOrWord" class="def">cmmOrWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmNegate" class="def">cmmNegate</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmEqWord" class="def">cmmEqWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmNeWord" class="def">cmmNeWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmUGtWord" class="def">cmmUGtWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmSubWord" class="def">cmmSubWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmMulWord" class="def">cmmMulWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmAddWord" class="def">cmmAddWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmUShrWord" class="def">cmmUShrWord</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmOffsetExprW" class="def">cmmOffsetExprW</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmOffsetExprB" class="def">cmmOffsetExprB</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmRegOffW" class="def">cmmRegOffW</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmRegOffB" class="def">cmmRegOffB</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a> -&gt; <a href="SMRep.html#t:ByteOff">ByteOff</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmLabelOffW" class="def">cmmLabelOffW</a> :: <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></p></div><div class="top"><p class="src"><a name="v:cmmLabelOffB" class="def">cmmLabelOffB</a> :: <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; <a href="SMRep.html#t:ByteOff">ByteOff</a> -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></p></div><div class="top"><p class="src"><a name="v:cmmOffsetW" class="def">cmmOffsetW</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmOffsetB" class="def">cmmOffsetB</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="SMRep.html#t:ByteOff">ByteOff</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmOffsetLitW" class="def">cmmOffsetLitW</a> :: <a href="CmmExpr.html#t:CmmLit">CmmLit</a> -&gt; <a href="SMRep.html#t:WordOff">WordOff</a> -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></p></div><div class="top"><p class="src"><a name="v:cmmOffsetLitB" class="def">cmmOffsetLitB</a> :: <a href="CmmExpr.html#t:CmmLit">CmmLit</a> -&gt; <a href="SMRep.html#t:ByteOff">ByteOff</a> -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></p></div><div class="top"><p class="src"><a name="v:cmmLoadIndexW" class="def">cmmLoadIndexW</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmConstrTag" class="def">cmmConstrTag</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmConstrTag1" class="def">cmmConstrTag1</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmUntag" class="def">cmmUntag</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmIsTagged" class="def">cmmIsTagged</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:cmmGetTag" class="def">cmmGetTag</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><a name="v:addToMem" class="def">addToMem</a> :: <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></p></div><div class="top"><p class="src"><a name="v:addToMemE" class="def">addToMemE</a> :: <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></p></div><div class="top"><p class="src"><a name="v:addToMemLbl" class="def">addToMemLbl</a> :: <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; <a href="CLabel.html#t:CLabel">CLabel</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="MkGraph.html#t:CmmAGraph">CmmAGraph</a></p></div><div class="top"><p class="src"><a name="v:mkWordCLit" class="def">mkWordCLit</a> :: <a href="SMRep.html#t:StgWord">StgWord</a> -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></p></div><div class="top"><p class="src"><a name="v:newStringCLit" class="def">newStringCLit</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> <a href="CmmExpr.html#t:CmmLit">CmmLit</a></p></div><div class="top"><p class="src"><a name="v:newByteStringCLit" class="def">newByteStringCLit</a> :: [<a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>] -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> <a href="CmmExpr.html#t:CmmLit">CmmLit</a></p></div><div class="top"><p class="src"><a name="v:packHalfWordsCLit" class="def">packHalfWordsCLit</a> :: (<a href="../base-4.5.1.0/Prelude.html#t:Integral">Integral</a> a, <a href="../base-4.5.1.0/Prelude.html#t:Integral">Integral</a> b) =&gt; a -&gt; b -&gt; <a href="CmmExpr.html#t:CmmLit">CmmLit</a></p></div><div class="top"><p class="src"><a name="v:blankWord" class="def">blankWord</a> :: <a href="Cmm.html#t:CmmStatic">CmmStatic</a></p></div><div class="top"><p class="src"><a name="v:getSRTInfo" class="def">getSRTInfo</a> :: <a href="StgSyn.html#t:SRT">SRT</a> -&gt; <a href="StgCmmMonad.html#t:FCode">FCode</a> <a href="Cmm.html#t:C_SRT">C_SRT</a></p></div><div class="top"><p class="src"><a name="v:srt_escape" class="def">srt_escape</a> :: <a href="SMRep.html#t:StgHalfWord">StgHalfWord</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>