<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >CmmExpr</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_CmmExpr.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >ghc-6.12.3: The GHC API</TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >CmmExpr</FONT ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ACmmType" >CmmType</A > </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Ab8" >b8</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Ab16" >b16</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Ab32" >b32</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Ab64" >b64</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Af32" >f32</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Af64" >f64</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AbWord" >bWord</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AbHalfWord" >bHalfWord</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgcWord" >gcWord</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcInt" >cInt</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcLong" >cLong</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcmmBits" >cmmBits</A > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcmmFloat" >cmmFloat</A > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtypeWidth" >typeWidth</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcmmEqType" >cmmEqType</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcmmEqType_ignoring_ptrhood" >cmmEqType_ignoring_ptrhood</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisFloatType" >isFloatType</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisGcPtrType" >isGcPtrType</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisWord32" >isWord32</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisWord64" >isWord64</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisFloat64" >isFloat64</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisFloat32" >isFloat32</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AWidth" >Width</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AW8" >W8</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AW16" >W16</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AW32" >W32</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AW64" >W64</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AW80" >W80</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AW128" >W128</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwidthInBits" >widthInBits</A > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwidthInBytes" >widthInBytes</A > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwidthInLog" >widthInLog</A > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwidthFromBytes" >widthFromBytes</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwordWidth" >wordWidth</A > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AhalfWordWidth" >halfWordWidth</A > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcIntWidth" >cIntWidth</A > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcLongWidth" >cLongWidth</A > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnarrowU" >narrowU</A > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A > -> <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnarrowS" >narrowS</A > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A > -> <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ACmmExpr" >CmmExpr</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3ACmmLit" >CmmLit</A > <A HREF="CmmExpr.html#t%3ACmmLit" >CmmLit</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmmLoad" >CmmLoad</A > <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A > <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmmReg" >CmmReg</A > <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmmMachOp" >CmmMachOp</A > <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > [<A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A >]</TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmmStackSlot" >CmmStackSlot</A > <A HREF="CmmExpr.html#t%3AArea" >Area</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmmRegOff" >CmmRegOff</A > <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcmmExprType" >cmmExprType</A > :: <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcmmExprWidth" >cmmExprWidth</A > :: <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A > -> <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmaybeInvertCmmExpr" >maybeInvertCmmExpr</A > :: <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ACmmReg" >CmmReg</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3ACmmLocal" >CmmLocal</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmmGlobal" >CmmGlobal</A > <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcmmRegType" >cmmRegType</A > :: <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ACmmLit" >CmmLit</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3ACmmInt" >CmmInt</A > <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmmFloat" >CmmFloat</A > <A HREF="../base-4.2.0.2/Prelude.html#t%3ARational" >Rational</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmmLabel" >CmmLabel</A > <A HREF="CLabel.html#t%3ACLabel" >CLabel</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmmLabelOff" >CmmLabelOff</A > <A HREF="CLabel.html#t%3ACLabel" >CLabel</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmmLabelDiffOff" >CmmLabelDiffOff</A > <A HREF="CLabel.html#t%3ACLabel" >CLabel</A > <A HREF="CLabel.html#t%3ACLabel" >CLabel</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmmBlock" >CmmBlock</A > <A HREF="BlockId.html#t%3ABlockId" >BlockId</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACmmHighStackMark" >CmmHighStackMark</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcmmLitType" >cmmLitType</A > :: <A HREF="CmmExpr.html#t%3ACmmLit" >CmmLit</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ALocalReg" >LocalReg</A > = <A HREF="#v%3ALocalReg" >LocalReg</A > !<A HREF="Unique.html#t%3AUnique" >Unique</A > <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlocalRegType" >localRegType</A > :: <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AGlobalReg" >GlobalReg</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AVanillaReg" >VanillaReg</A > !<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > <A HREF="CmmExpr.html#t%3AVGcPtr" >VGcPtr</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AFloatReg" >FloatReg</A > !<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ADoubleReg" >DoubleReg</A > !<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ALongReg" >LongReg</A > !<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ASp" >Sp</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ASpLim" >SpLim</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AHp" >Hp</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AHpLim" >HpLim</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACurrentTSO" >CurrentTSO</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACurrentNursery" >CurrentNursery</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AHpAlloc" >HpAlloc</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AEagerBlackholeInfo" >EagerBlackholeInfo</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AGCEnter1" >GCEnter1</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AGCFun" >GCFun</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ABaseReg" >BaseReg</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3APicBaseReg" >PicBaseReg</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AglobalRegType" >globalRegType</A > :: <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AspReg" >spReg</A > :: <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AhpReg" >hpReg</A > :: <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AspLimReg" >spLimReg</A > :: <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AnodeReg" >nodeReg</A > :: <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Anode" >node</A > :: <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AVGcPtr" >VGcPtr</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AVGcPtr" >VGcPtr</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AVNonGcPtr" >VNonGcPtr</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AvgcFlag" >vgcFlag</A > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="CmmExpr.html#t%3AVGcPtr" >VGcPtr</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AfoldRegsDefd" >foldRegsDefd</A > :: (b -> <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> b) -> b -> a -> b</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AfoldRegsUsed" >foldRegsUsed</A > :: (b -> <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> b) -> b -> a -> b</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfilterRegsUsed" >filterRegsUsed</A > :: <A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > e => (<A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> e -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3ADefinerOfSlots" >DefinerOfSlots</A > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AfoldSlotsDefd" >foldSlotsDefd</A > :: (b -> <A HREF="CmmExpr.html#t%3ASubArea" >SubArea</A > -> b) -> b -> a -> b</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3AUserOfSlots" >UserOfSlots</A > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AfoldSlotsUsed" >foldSlotsUsed</A > :: (b -> <A HREF="CmmExpr.html#t%3ASubArea" >SubArea</A > -> b) -> b -> a -> b</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3ARegSet" >RegSet</A > = <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AemptyRegSet" >emptyRegSet</A > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AelemRegSet" >elemRegSet</A > :: <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AextendRegSet" >extendRegSet</A > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdeleteFromRegSet" >deleteFromRegSet</A > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkRegSet" >mkRegSet</A > :: [<A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A >] -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AplusRegSet" >plusRegSet</A > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AminusRegSet" >minusRegSet</A > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtimesRegSet" >timesRegSet</A > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AArea" >Area</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3ARegSlot" >RegSlot</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ACallArea" >CallArea</A > <A HREF="CmmExpr.html#t%3AAreaId" >AreaId</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AAreaId" >AreaId</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AOld" >Old</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AYoung" >Young</A > <A HREF="BlockId.html#t%3ABlockId" >BlockId</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3ASubArea" >SubArea</A > = (<A HREF="CmmExpr.html#t%3AArea" >Area</A >, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3ASubAreaSet" >SubAreaSet</A > = <A HREF="FiniteMap.html#t%3AFiniteMap" >FiniteMap</A > <A HREF="CmmExpr.html#t%3AArea" >Area</A > [<A HREF="CmmExpr.html#t%3ASubArea" >SubArea</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AAreaMap" >AreaMap</A > = <A HREF="FiniteMap.html#t%3AFiniteMap" >FiniteMap</A > <A HREF="CmmExpr.html#t%3AArea" >Area</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisStackSlotOf" >isStackSlotOf</A > :: <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A > -> <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AMachOp" >MachOp</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AMO_Add" >MO_Add</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Sub" >MO_Sub</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Eq" >MO_Eq</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Ne" >MO_Ne</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Mul" >MO_Mul</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_MulMayOflo" >MO_S_MulMayOflo</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Quot" >MO_S_Quot</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Rem" >MO_S_Rem</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Neg" >MO_S_Neg</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_MulMayOflo" >MO_U_MulMayOflo</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Quot" >MO_U_Quot</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Rem" >MO_U_Rem</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Ge" >MO_S_Ge</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Le" >MO_S_Le</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Gt" >MO_S_Gt</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Lt" >MO_S_Lt</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Ge" >MO_U_Ge</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Le" >MO_U_Le</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Gt" >MO_U_Gt</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Lt" >MO_U_Lt</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F_Add" >MO_F_Add</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F_Sub" >MO_F_Sub</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F_Neg" >MO_F_Neg</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F_Mul" >MO_F_Mul</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F_Quot" >MO_F_Quot</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F_Eq" >MO_F_Eq</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F_Ne" >MO_F_Ne</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F_Ge" >MO_F_Ge</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F_Le" >MO_F_Le</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F_Gt" >MO_F_Gt</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_F_Lt" >MO_F_Lt</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_And" >MO_And</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Or" >MO_Or</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Xor" >MO_Xor</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Not" >MO_Not</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_Shl" >MO_Shl</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_U_Shr" >MO_U_Shr</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_S_Shr" >MO_S_Shr</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_SF_Conv" >MO_SF_Conv</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_FS_Conv" >MO_FS_Conv</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_SS_Conv" >MO_SS_Conv</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_UU_Conv" >MO_UU_Conv</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AMO_FF_Conv" >MO_FF_Conv</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApprMachOp" >pprMachOp</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisCommutableMachOp" >isCommutableMachOp</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisAssociativeMachOp" >isAssociativeMachOp</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisComparisonMachOp" >isComparisonMachOp</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmachOpResultType" >machOpResultType</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> [<A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A >] -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmachOpArgReps" >machOpArgReps</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> [<A HREF="CmmExpr.html#t%3AWidth" >Width</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmaybeInvertComparison" >maybeInvertComparison</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordAdd" >mo_wordAdd</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordSub" >mo_wordSub</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordEq" >mo_wordEq</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordNe" >mo_wordNe</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordMul" >mo_wordMul</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordSQuot" >mo_wordSQuot</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordSRem" >mo_wordSRem</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordSNeg" >mo_wordSNeg</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordUQuot" >mo_wordUQuot</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordURem" >mo_wordURem</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordSGe" >mo_wordSGe</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordSLe" >mo_wordSLe</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordSGt" >mo_wordSGt</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordSLt" >mo_wordSLt</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordUGe" >mo_wordUGe</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordULe" >mo_wordULe</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordUGt" >mo_wordUGt</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordULt" >mo_wordULt</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordAnd" >mo_wordAnd</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordOr" >mo_wordOr</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordXor" >mo_wordXor</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordNot" >mo_wordNot</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordShl" >mo_wordShl</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordSShr" >mo_wordSShr</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_wordUShr" >mo_wordUShr</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_u_8To32" >mo_u_8To32</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_s_8To32" >mo_s_8To32</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_u_16To32" >mo_u_16To32</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_s_16To32" >mo_s_16To32</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_u_8ToWord" >mo_u_8ToWord</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_s_8ToWord" >mo_s_8ToWord</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_u_16ToWord" >mo_u_16ToWord</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_s_16ToWord" >mo_s_16ToWord</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_u_32ToWord" >mo_u_32ToWord</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_s_32ToWord" >mo_s_32ToWord</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_32To8" >mo_32To8</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_32To16" >mo_32To16</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_WordTo8" >mo_WordTo8</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_WordTo16" >mo_WordTo16</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amo_WordTo32" >mo_WordTo32</A > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:CmmType" ><A NAME="t%3ACmmType" ></A ></A ><B >CmmType</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:CmmType')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:CmmType" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:b8" ><A NAME="v%3Ab8" ></A ></A ><B >b8</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:b16" ><A NAME="v%3Ab16" ></A ></A ><B >b16</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:b32" ><A NAME="v%3Ab32" ></A ></A ><B >b32</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:b64" ><A NAME="v%3Ab64" ></A ></A ><B >b64</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:f32" ><A NAME="v%3Af32" ></A ></A ><B >f32</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:f64" ><A NAME="v%3Af64" ></A ></A ><B >f64</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:bWord" ><A NAME="v%3AbWord" ></A ></A ><B >bWord</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:bHalfWord" ><A NAME="v%3AbHalfWord" ></A ></A ><B >bHalfWord</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:gcWord" ><A NAME="v%3AgcWord" ></A ></A ><B >gcWord</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cInt" ><A NAME="v%3AcInt" ></A ></A ><B >cInt</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cLong" ><A NAME="v%3AcLong" ></A ></A ><B >cLong</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cmmBits" ><A NAME="v%3AcmmBits" ></A ></A ><B >cmmBits</B > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cmmFloat" ><A NAME="v%3AcmmFloat" ></A ></A ><B >cmmFloat</B > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:typeWidth" ><A NAME="v%3AtypeWidth" ></A ></A ><B >typeWidth</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cmmEqType" ><A NAME="v%3AcmmEqType" ></A ></A ><B >cmmEqType</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cmmEqType_ignoring_ptrhood" ><A NAME="v%3AcmmEqType_ignoring_ptrhood" ></A ></A ><B >cmmEqType_ignoring_ptrhood</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isFloatType" ><A NAME="v%3AisFloatType" ></A ></A ><B >isFloatType</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isGcPtrType" ><A NAME="v%3AisGcPtrType" ></A ></A ><B >isGcPtrType</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isWord32" ><A NAME="v%3AisWord32" ></A ></A ><B >isWord32</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isWord64" ><A NAME="v%3AisWord64" ></A ></A ><B >isWord64</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isFloat64" ><A NAME="v%3AisFloat64" ></A ></A ><B >isFloat64</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isFloat32" ><A NAME="v%3AisFloat32" ></A ></A ><B >isFloat32</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Width" ><A NAME="t%3AWidth" ></A ></A ><B >Width</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:W8" ><A NAME="v%3AW8" ></A ></A ><B >W8</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:W16" ><A NAME="v%3AW16" ></A ></A ><B >W16</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:W32" ><A NAME="v%3AW32" ></A ></A ><B >W32</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:W64" ><A NAME="v%3AW64" ></A ></A ><B >W64</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:W80" ><A NAME="v%3AW80" ></A ></A ><B >W80</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:W128" ><A NAME="v%3AW128" ></A ></A ><B >W128</B ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Width')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Width" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:widthInBits" ><A NAME="v%3AwidthInBits" ></A ></A ><B >widthInBits</B > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:widthInBytes" ><A NAME="v%3AwidthInBytes" ></A ></A ><B >widthInBytes</B > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:widthInLog" ><A NAME="v%3AwidthInLog" ></A ></A ><B >widthInLog</B > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:widthFromBytes" ><A NAME="v%3AwidthFromBytes" ></A ></A ><B >widthFromBytes</B > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:wordWidth" ><A NAME="v%3AwordWidth" ></A ></A ><B >wordWidth</B > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:halfWordWidth" ><A NAME="v%3AhalfWordWidth" ></A ></A ><B >halfWordWidth</B > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cIntWidth" ><A NAME="v%3AcIntWidth" ></A ></A ><B >cIntWidth</B > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cLongWidth" ><A NAME="v%3AcLongWidth" ></A ></A ><B >cLongWidth</B > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:narrowU" ><A NAME="v%3AnarrowU" ></A ></A ><B >narrowU</B > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A > -> <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:narrowS" ><A NAME="v%3AnarrowS" ></A ></A ><B >narrowS</B > :: <A HREF="CmmExpr.html#t%3AWidth" >Width</A > -> <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A > -> <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:CmmExpr" ><A NAME="t%3ACmmExpr" ></A ></A ><B >CmmExpr</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:CmmLit" ><A NAME="v%3ACmmLit" ></A ></A ><B >CmmLit</B > <A HREF="CmmExpr.html#t%3ACmmLit" >CmmLit</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CmmLoad" ><A NAME="v%3ACmmLoad" ></A ></A ><B >CmmLoad</B > <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A > <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CmmReg" ><A NAME="v%3ACmmReg" ></A ></A ><B >CmmReg</B > <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CmmMachOp" ><A NAME="v%3ACmmMachOp" ></A ></A ><B >CmmMachOp</B > <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > [<A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CmmStackSlot" ><A NAME="v%3ACmmStackSlot" ></A ></A ><B >CmmStackSlot</B > <A HREF="CmmExpr.html#t%3AArea" >Area</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CmmRegOff" ><A NAME="v%3ACmmRegOff" ></A ></A ><B >CmmRegOff</B > <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:CmmExpr')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:CmmExpr" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cmmExprType" ><A NAME="v%3AcmmExprType" ></A ></A ><B >cmmExprType</B > :: <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cmmExprWidth" ><A NAME="v%3AcmmExprWidth" ></A ></A ><B >cmmExprWidth</B > :: <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A > -> <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:maybeInvertCmmExpr" ><A NAME="v%3AmaybeInvertCmmExpr" ></A ></A ><B >maybeInvertCmmExpr</B > :: <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:CmmReg" ><A NAME="t%3ACmmReg" ></A ></A ><B >CmmReg</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:CmmLocal" ><A NAME="v%3ACmmLocal" ></A ></A ><B >CmmLocal</B > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CmmGlobal" ><A NAME="v%3ACmmGlobal" ></A ></A ><B >CmmGlobal</B > <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:CmmReg')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:CmmReg" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cmmRegType" ><A NAME="v%3AcmmRegType" ></A ></A ><B >cmmRegType</B > :: <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:CmmLit" ><A NAME="t%3ACmmLit" ></A ></A ><B >CmmLit</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:CmmInt" ><A NAME="v%3ACmmInt" ></A ></A ><B >CmmInt</B > <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CmmFloat" ><A NAME="v%3ACmmFloat" ></A ></A ><B >CmmFloat</B > <A HREF="../base-4.2.0.2/Prelude.html#t%3ARational" >Rational</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CmmLabel" ><A NAME="v%3ACmmLabel" ></A ></A ><B >CmmLabel</B > <A HREF="CLabel.html#t%3ACLabel" >CLabel</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CmmLabelOff" ><A NAME="v%3ACmmLabelOff" ></A ></A ><B >CmmLabelOff</B > <A HREF="CLabel.html#t%3ACLabel" >CLabel</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CmmLabelDiffOff" ><A NAME="v%3ACmmLabelDiffOff" ></A ></A ><B >CmmLabelDiffOff</B > <A HREF="CLabel.html#t%3ACLabel" >CLabel</A > <A HREF="CLabel.html#t%3ACLabel" >CLabel</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CmmBlock" ><A NAME="v%3ACmmBlock" ></A ></A ><B >CmmBlock</B > <A HREF="BlockId.html#t%3ABlockId" >BlockId</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CmmHighStackMark" ><A NAME="v%3ACmmHighStackMark" ></A ></A ><B >CmmHighStackMark</B ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:CmmLit')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:CmmLit" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="CmmExpr.html#t%3ACmmLit" >CmmLit</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > <A HREF="CmmExpr.html#t%3ACmmLit" >CmmLit</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cmmLitType" ><A NAME="v%3AcmmLitType" ></A ></A ><B >cmmLitType</B > :: <A HREF="CmmExpr.html#t%3ACmmLit" >CmmLit</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:LocalReg" ><A NAME="t%3ALocalReg" ></A ></A ><B >LocalReg</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:LocalReg" ><A NAME="v%3ALocalReg" ></A ></A ><B >LocalReg</B > !<A HREF="Unique.html#t%3AUnique" >Unique</A > <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ><TD CLASS="rdoc" >Parameters: 1. Identifier 2. Type </TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:LocalReg')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:LocalReg" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Unique.html#t%3AUniquable" >Uniquable</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:localRegType" ><A NAME="v%3AlocalRegType" ></A ></A ><B >localRegType</B > :: <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:GlobalReg" ><A NAME="t%3AGlobalReg" ></A ></A ><B >GlobalReg</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:VanillaReg" ><A NAME="v%3AVanillaReg" ></A ></A ><B >VanillaReg</B > !<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > <A HREF="CmmExpr.html#t%3AVGcPtr" >VGcPtr</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:FloatReg" ><A NAME="v%3AFloatReg" ></A ></A ><B >FloatReg</B > !<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:DoubleReg" ><A NAME="v%3ADoubleReg" ></A ></A ><B >DoubleReg</B > !<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:LongReg" ><A NAME="v%3ALongReg" ></A ></A ><B >LongReg</B > !<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Sp" ><A NAME="v%3ASp" ></A ></A ><B >Sp</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:SpLim" ><A NAME="v%3ASpLim" ></A ></A ><B >SpLim</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Hp" ><A NAME="v%3AHp" ></A ></A ><B >Hp</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:HpLim" ><A NAME="v%3AHpLim" ></A ></A ><B >HpLim</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CurrentTSO" ><A NAME="v%3ACurrentTSO" ></A ></A ><B >CurrentTSO</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CurrentNursery" ><A NAME="v%3ACurrentNursery" ></A ></A ><B >CurrentNursery</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:HpAlloc" ><A NAME="v%3AHpAlloc" ></A ></A ><B >HpAlloc</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:EagerBlackholeInfo" ><A NAME="v%3AEagerBlackholeInfo" ></A ></A ><B >EagerBlackholeInfo</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:GCEnter1" ><A NAME="v%3AGCEnter1" ></A ></A ><B >GCEnter1</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:GCFun" ><A NAME="v%3AGCFun" ></A ></A ><B >GCFun</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:BaseReg" ><A NAME="v%3ABaseReg" ></A ></A ><B >BaseReg</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:PicBaseReg" ><A NAME="v%3APicBaseReg" ></A ></A ><B >PicBaseReg</B ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:GlobalReg')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:GlobalReg" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:globalRegType" ><A NAME="v%3AglobalRegType" ></A ></A ><B >globalRegType</B > :: <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A > -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:spReg" ><A NAME="v%3AspReg" ></A ></A ><B >spReg</B > :: <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:hpReg" ><A NAME="v%3AhpReg" ></A ></A ><B >hpReg</B > :: <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:spLimReg" ><A NAME="v%3AspLimReg" ></A ></A ><B >spLimReg</B > :: <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:nodeReg" ><A NAME="v%3AnodeReg" ></A ></A ><B >nodeReg</B > :: <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:node" ><A NAME="v%3Anode" ></A ></A ><B >node</B > :: <A HREF="CmmExpr.html#t%3AGlobalReg" >GlobalReg</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:VGcPtr" ><A NAME="t%3AVGcPtr" ></A ></A ><B >VGcPtr</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:VGcPtr" ><A NAME="v%3AVGcPtr" ></A ></A ><B >VGcPtr</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:VNonGcPtr" ><A NAME="v%3AVNonGcPtr" ></A ></A ><B >VNonGcPtr</B ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:VGcPtr')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:VGcPtr" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="CmmExpr.html#t%3AVGcPtr" >VGcPtr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="CmmExpr.html#t%3AVGcPtr" >VGcPtr</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:vgcFlag" ><A NAME="v%3AvgcFlag" ></A ></A ><B >vgcFlag</B > :: <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A > -> <A HREF="CmmExpr.html#t%3AVGcPtr" >VGcPtr</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:DefinerOfLocalRegs" ><A NAME="t%3ADefinerOfLocalRegs" ></A ></A ><B >DefinerOfLocalRegs</B > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" >Methods</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A NAME="v:foldRegsDefd" ><A NAME="v%3AfoldRegsDefd" ></A ></A ><B >foldRegsDefd</B > :: (b -> <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> b) -> b -> a -> b</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:DefinerOfLocalRegs')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:DefinerOfLocalRegs" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > <A HREF="ZipCfgCmmRep.html#t%3AMiddle" >Middle</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > a => <A HREF="CmmExpr.html#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > [a]</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > a => <A HREF="CmmExpr.html#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > a => <A HREF="CmmExpr.html#t%3ADefinerOfLocalRegs" >DefinerOfLocalRegs</A > (<A HREF="Cmm.html#t%3ACmmHinted" >CmmHinted</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:UserOfLocalRegs" ><A NAME="t%3AUserOfLocalRegs" ></A ></A ><B >UserOfLocalRegs</B > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" >Methods</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A NAME="v:foldRegsUsed" ><A NAME="v%3AfoldRegsUsed" ></A ></A ><B >foldRegsUsed</B > :: (b -> <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> b) -> b -> a -> b</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:UserOfLocalRegs')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:UserOfLocalRegs" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > <A HREF="CmmExpr.html#t%3ACmmReg" >CmmReg</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > <A HREF="Cmm.html#t%3ACmmCallTarget" >CmmCallTarget</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > <A HREF="Cmm.html#t%3ACmmStmt" >CmmStmt</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > <A HREF="ZipCfgCmmRep.html#t%3AMidCallTarget" >MidCallTarget</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > <A HREF="ZipCfgCmmRep.html#t%3AMiddle" >Middle</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > a => <A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > [a]</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > a => <A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > a => <A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > (<A HREF="Cmm.html#t%3ACmmHinted" >CmmHinted</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > i => <A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > (<A HREF="Cmm.html#t%3AGenBasicBlock" >GenBasicBlock</A > i)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > a => <A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > (<A HREF="ZipCfg.html#t%3AZLast" >ZLast</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:filterRegsUsed" ><A NAME="v%3AfilterRegsUsed" ></A ></A ><B >filterRegsUsed</B > :: <A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > e => (<A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A >) -> e -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:DefinerOfSlots" ><A NAME="t%3ADefinerOfSlots" ></A ></A ><B >DefinerOfSlots</B > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" >Methods</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A NAME="v:foldSlotsDefd" ><A NAME="v%3AfoldSlotsDefd" ></A ></A ><B >foldSlotsDefd</B > :: (b -> <A HREF="CmmExpr.html#t%3ASubArea" >SubArea</A > -> b) -> b -> a -> b</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:DefinerOfSlots')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:DefinerOfSlots" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3ADefinerOfSlots" >DefinerOfSlots</A > <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3ADefinerOfSlots" >DefinerOfSlots</A > <A HREF="ZipCfgCmmRep.html#t%3AMiddle" >Middle</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3ADefinerOfSlots" >DefinerOfSlots</A > l => <A HREF="CmmExpr.html#t%3ADefinerOfSlots" >DefinerOfSlots</A > (<A HREF="ZipCfg.html#t%3AZLast" >ZLast</A > l)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:UserOfSlots" ><A NAME="t%3AUserOfSlots" ></A ></A ><B >UserOfSlots</B > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" >Methods</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A NAME="v:foldSlotsUsed" ><A NAME="v%3AfoldSlotsUsed" ></A ></A ><B >foldSlotsUsed</B > :: (b -> <A HREF="CmmExpr.html#t%3ASubArea" >SubArea</A > -> b) -> b -> a -> b</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:UserOfSlots')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:UserOfSlots" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > <A HREF="Cmm.html#t%3ACmmCallTarget" >CmmCallTarget</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > <A HREF="ZipCfgCmmRep.html#t%3AMidCallTarget" >MidCallTarget</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > <A HREF="ZipCfgCmmRep.html#t%3AMiddle" >Middle</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > a => <A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > [a]</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > a => <A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > a => <A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > (<A HREF="Cmm.html#t%3ACmmHinted" >CmmHinted</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > l => <A HREF="CmmExpr.html#t%3AUserOfSlots" >UserOfSlots</A > (<A HREF="ZipCfg.html#t%3AZLast" >ZLast</A > l)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:RegSet" ><A NAME="t%3ARegSet" ></A ></A ><B >RegSet</B > = <A HREF="UniqSet.html#t%3AUniqSet" >UniqSet</A > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ></TR ><TR ><TD CLASS="doc" >Sets of local registers </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:emptyRegSet" ><A NAME="v%3AemptyRegSet" ></A ></A ><B >emptyRegSet</B > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:elemRegSet" ><A NAME="v%3AelemRegSet" ></A ></A ><B >elemRegSet</B > :: <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:extendRegSet" ><A NAME="v%3AextendRegSet" ></A ></A ><B >extendRegSet</B > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:deleteFromRegSet" ><A NAME="v%3AdeleteFromRegSet" ></A ></A ><B >deleteFromRegSet</B > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkRegSet" ><A NAME="v%3AmkRegSet" ></A ></A ><B >mkRegSet</B > :: [<A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A >] -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:plusRegSet" ><A NAME="v%3AplusRegSet" ></A ></A ><B >plusRegSet</B > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:minusRegSet" ><A NAME="v%3AminusRegSet" ></A ></A ><B >minusRegSet</B > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:timesRegSet" ><A NAME="v%3AtimesRegSet" ></A ></A ><B >timesRegSet</B > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A > -> <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Area" ><A NAME="t%3AArea" ></A ></A ><B >Area</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >A stack area is either the stack slot where a variable is spilled or the stack space where function arguments and results are passed. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:RegSlot" ><A NAME="v%3ARegSlot" ></A ></A ><B >RegSlot</B > <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:CallArea" ><A NAME="v%3ACallArea" ></A ></A ><B >CallArea</B > <A HREF="CmmExpr.html#t%3AAreaId" >AreaId</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Area')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Area" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="CmmExpr.html#t%3AArea" >Area</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="CmmExpr.html#t%3AArea" >Area</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > <A HREF="CmmExpr.html#t%3AArea" >Area</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:AreaId" ><A NAME="t%3AAreaId" ></A ></A ><B >AreaId</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:Old" ><A NAME="v%3AOld" ></A ></A ><B >Old</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Young" ><A NAME="v%3AYoung" ></A ></A ><B >Young</B > <A HREF="BlockId.html#t%3ABlockId" >BlockId</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:AreaId')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:AreaId" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="CmmExpr.html#t%3AAreaId" >AreaId</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="CmmExpr.html#t%3AAreaId" >AreaId</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:SubArea" ><A NAME="t%3ASubArea" ></A ></A ><B >SubArea</B > = (<A HREF="CmmExpr.html#t%3AArea" >Area</A >, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:SubAreaSet" ><A NAME="t%3ASubAreaSet" ></A ></A ><B >SubAreaSet</B > = <A HREF="FiniteMap.html#t%3AFiniteMap" >FiniteMap</A > <A HREF="CmmExpr.html#t%3AArea" >Area</A > [<A HREF="CmmExpr.html#t%3ASubArea" >SubArea</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:AreaMap" ><A NAME="t%3AAreaMap" ></A ></A ><B >AreaMap</B > = <A HREF="FiniteMap.html#t%3AFiniteMap" >FiniteMap</A > <A HREF="CmmExpr.html#t%3AArea" >Area</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isStackSlotOf" ><A NAME="v%3AisStackSlotOf" ></A ></A ><B >isStackSlotOf</B > :: <A HREF="CmmExpr.html#t%3ACmmExpr" >CmmExpr</A > -> <A HREF="CmmExpr.html#t%3ALocalReg" >LocalReg</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:MachOp" ><A NAME="t%3AMachOp" ></A ></A ><B >MachOp</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >Machine-level primops; ones which we can reasonably delegate to the native code generators to handle. Basically contains C's primops and no others. </P ><P >Nomenclature: all ops indicate width and signedness, where appropriate. Widths: 8/16/32/64 means the given size, obviously. Nat means the operation works on STG word sized objects. Signedness: S means signed, U means unsigned. For operations where signedness is irrelevant or makes no difference (for example integer add), the signedness component is omitted. </P ><P >An exception: NatP is a ptr-typed native word. From the point of view of the native code generators this distinction is irrelevant, but the C code generator sometimes needs this info to emit the right casts. </P ></TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:MO_Add" ><A NAME="v%3AMO_Add" ></A ></A ><B >MO_Add</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Sub" ><A NAME="v%3AMO_Sub" ></A ></A ><B >MO_Sub</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Eq" ><A NAME="v%3AMO_Eq" ></A ></A ><B >MO_Eq</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Ne" ><A NAME="v%3AMO_Ne" ></A ></A ><B >MO_Ne</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Mul" ><A NAME="v%3AMO_Mul" ></A ></A ><B >MO_Mul</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_MulMayOflo" ><A NAME="v%3AMO_S_MulMayOflo" ></A ></A ><B >MO_S_MulMayOflo</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Quot" ><A NAME="v%3AMO_S_Quot" ></A ></A ><B >MO_S_Quot</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Rem" ><A NAME="v%3AMO_S_Rem" ></A ></A ><B >MO_S_Rem</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Neg" ><A NAME="v%3AMO_S_Neg" ></A ></A ><B >MO_S_Neg</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_MulMayOflo" ><A NAME="v%3AMO_U_MulMayOflo" ></A ></A ><B >MO_U_MulMayOflo</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Quot" ><A NAME="v%3AMO_U_Quot" ></A ></A ><B >MO_U_Quot</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Rem" ><A NAME="v%3AMO_U_Rem" ></A ></A ><B >MO_U_Rem</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Ge" ><A NAME="v%3AMO_S_Ge" ></A ></A ><B >MO_S_Ge</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Le" ><A NAME="v%3AMO_S_Le" ></A ></A ><B >MO_S_Le</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Gt" ><A NAME="v%3AMO_S_Gt" ></A ></A ><B >MO_S_Gt</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Lt" ><A NAME="v%3AMO_S_Lt" ></A ></A ><B >MO_S_Lt</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Ge" ><A NAME="v%3AMO_U_Ge" ></A ></A ><B >MO_U_Ge</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Le" ><A NAME="v%3AMO_U_Le" ></A ></A ><B >MO_U_Le</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Gt" ><A NAME="v%3AMO_U_Gt" ></A ></A ><B >MO_U_Gt</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Lt" ><A NAME="v%3AMO_U_Lt" ></A ></A ><B >MO_U_Lt</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F_Add" ><A NAME="v%3AMO_F_Add" ></A ></A ><B >MO_F_Add</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F_Sub" ><A NAME="v%3AMO_F_Sub" ></A ></A ><B >MO_F_Sub</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F_Neg" ><A NAME="v%3AMO_F_Neg" ></A ></A ><B >MO_F_Neg</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F_Mul" ><A NAME="v%3AMO_F_Mul" ></A ></A ><B >MO_F_Mul</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F_Quot" ><A NAME="v%3AMO_F_Quot" ></A ></A ><B >MO_F_Quot</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F_Eq" ><A NAME="v%3AMO_F_Eq" ></A ></A ><B >MO_F_Eq</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F_Ne" ><A NAME="v%3AMO_F_Ne" ></A ></A ><B >MO_F_Ne</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F_Ge" ><A NAME="v%3AMO_F_Ge" ></A ></A ><B >MO_F_Ge</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F_Le" ><A NAME="v%3AMO_F_Le" ></A ></A ><B >MO_F_Le</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F_Gt" ><A NAME="v%3AMO_F_Gt" ></A ></A ><B >MO_F_Gt</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_F_Lt" ><A NAME="v%3AMO_F_Lt" ></A ></A ><B >MO_F_Lt</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_And" ><A NAME="v%3AMO_And" ></A ></A ><B >MO_And</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Or" ><A NAME="v%3AMO_Or" ></A ></A ><B >MO_Or</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Xor" ><A NAME="v%3AMO_Xor" ></A ></A ><B >MO_Xor</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Not" ><A NAME="v%3AMO_Not" ></A ></A ><B >MO_Not</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_Shl" ><A NAME="v%3AMO_Shl" ></A ></A ><B >MO_Shl</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_U_Shr" ><A NAME="v%3AMO_U_Shr" ></A ></A ><B >MO_U_Shr</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_S_Shr" ><A NAME="v%3AMO_S_Shr" ></A ></A ><B >MO_S_Shr</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_SF_Conv" ><A NAME="v%3AMO_SF_Conv" ></A ></A ><B >MO_SF_Conv</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_FS_Conv" ><A NAME="v%3AMO_FS_Conv" ></A ></A ><B >MO_FS_Conv</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_SS_Conv" ><A NAME="v%3AMO_SS_Conv" ></A ></A ><B >MO_SS_Conv</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_UU_Conv" ><A NAME="v%3AMO_UU_Conv" ></A ></A ><B >MO_UU_Conv</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:MO_FF_Conv" ><A NAME="v%3AMO_FF_Conv" ></A ></A ><B >MO_FF_Conv</B > <A HREF="CmmExpr.html#t%3AWidth" >Width</A > <A HREF="CmmExpr.html#t%3AWidth" >Width</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:MachOp')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:MachOp" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:pprMachOp" ><A NAME="v%3ApprMachOp" ></A ></A ><B >pprMachOp</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isCommutableMachOp" ><A NAME="v%3AisCommutableMachOp" ></A ></A ><B >isCommutableMachOp</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="doc" ><P >Returns <TT ><A HREF="../base-4.2.0.2/Data-Bool.html#v%3ATrue" >True</A ></TT > if the MachOp has commutable arguments. This is used in the platform-independent Cmm optimisations. </P ><P >If in doubt, return <TT ><A HREF="../base-4.2.0.2/Data-Bool.html#v%3AFalse" >False</A ></TT >. This generates worse code on the native routes, but is otherwise harmless. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isAssociativeMachOp" ><A NAME="v%3AisAssociativeMachOp" ></A ></A ><B >isAssociativeMachOp</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="doc" ><P >Returns <TT ><A HREF="../base-4.2.0.2/Data-Bool.html#v%3ATrue" >True</A ></TT > if the MachOp is associative (i.e. <TT >(x+y)+z == x+(y+z)</TT >) This is used in the platform-independent Cmm optimisations. </P ><P >If in doubt, return <TT ><A HREF="../base-4.2.0.2/Data-Bool.html#v%3AFalse" >False</A ></TT >. This generates worse code on the native routes, but is otherwise harmless. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isComparisonMachOp" ><A NAME="v%3AisComparisonMachOp" ></A ></A ><B >isComparisonMachOp</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="doc" ><P >Returns <TT ><A HREF="../base-4.2.0.2/Data-Bool.html#v%3ATrue" >True</A ></TT > if the MachOp is a comparison. </P ><P >If in doubt, return False. This generates worse code on the native routes, but is otherwise harmless. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:machOpResultType" ><A NAME="v%3AmachOpResultType" ></A ></A ><B >machOpResultType</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> [<A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A >] -> <A HREF="CmmExpr.html#t%3ACmmType" >CmmType</A ></TD ></TR ><TR ><TD CLASS="doc" >Returns the MachRep of the result of a MachOp. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:machOpArgReps" ><A NAME="v%3AmachOpArgReps" ></A ></A ><B >machOpArgReps</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> [<A HREF="CmmExpr.html#t%3AWidth" >Width</A >]</TD ></TR ><TR ><TD CLASS="doc" >This function is used for debugging only: we can check whether an application of a MachOp is <A HREF="type-correct.html" >type-correct</A > by checking that the MachReps of its arguments are the same as the MachOp expects. This is used when linting a CmmExpr. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:maybeInvertComparison" ><A NAME="v%3AmaybeInvertComparison" ></A ></A ><B >maybeInvertComparison</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A > -> <A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordAdd" ><A NAME="v%3Amo_wordAdd" ></A ></A ><B >mo_wordAdd</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordSub" ><A NAME="v%3Amo_wordSub" ></A ></A ><B >mo_wordSub</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordEq" ><A NAME="v%3Amo_wordEq" ></A ></A ><B >mo_wordEq</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordNe" ><A NAME="v%3Amo_wordNe" ></A ></A ><B >mo_wordNe</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordMul" ><A NAME="v%3Amo_wordMul" ></A ></A ><B >mo_wordMul</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordSQuot" ><A NAME="v%3Amo_wordSQuot" ></A ></A ><B >mo_wordSQuot</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordSRem" ><A NAME="v%3Amo_wordSRem" ></A ></A ><B >mo_wordSRem</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordSNeg" ><A NAME="v%3Amo_wordSNeg" ></A ></A ><B >mo_wordSNeg</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordUQuot" ><A NAME="v%3Amo_wordUQuot" ></A ></A ><B >mo_wordUQuot</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordURem" ><A NAME="v%3Amo_wordURem" ></A ></A ><B >mo_wordURem</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordSGe" ><A NAME="v%3Amo_wordSGe" ></A ></A ><B >mo_wordSGe</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordSLe" ><A NAME="v%3Amo_wordSLe" ></A ></A ><B >mo_wordSLe</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordSGt" ><A NAME="v%3Amo_wordSGt" ></A ></A ><B >mo_wordSGt</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordSLt" ><A NAME="v%3Amo_wordSLt" ></A ></A ><B >mo_wordSLt</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordUGe" ><A NAME="v%3Amo_wordUGe" ></A ></A ><B >mo_wordUGe</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordULe" ><A NAME="v%3Amo_wordULe" ></A ></A ><B >mo_wordULe</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordUGt" ><A NAME="v%3Amo_wordUGt" ></A ></A ><B >mo_wordUGt</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordULt" ><A NAME="v%3Amo_wordULt" ></A ></A ><B >mo_wordULt</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordAnd" ><A NAME="v%3Amo_wordAnd" ></A ></A ><B >mo_wordAnd</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordOr" ><A NAME="v%3Amo_wordOr" ></A ></A ><B >mo_wordOr</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordXor" ><A NAME="v%3Amo_wordXor" ></A ></A ><B >mo_wordXor</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordNot" ><A NAME="v%3Amo_wordNot" ></A ></A ><B >mo_wordNot</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordShl" ><A NAME="v%3Amo_wordShl" ></A ></A ><B >mo_wordShl</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordSShr" ><A NAME="v%3Amo_wordSShr" ></A ></A ><B >mo_wordSShr</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_wordUShr" ><A NAME="v%3Amo_wordUShr" ></A ></A ><B >mo_wordUShr</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_u_8To32" ><A NAME="v%3Amo_u_8To32" ></A ></A ><B >mo_u_8To32</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_s_8To32" ><A NAME="v%3Amo_s_8To32" ></A ></A ><B >mo_s_8To32</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_u_16To32" ><A NAME="v%3Amo_u_16To32" ></A ></A ><B >mo_u_16To32</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_s_16To32" ><A NAME="v%3Amo_s_16To32" ></A ></A ><B >mo_s_16To32</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_u_8ToWord" ><A NAME="v%3Amo_u_8ToWord" ></A ></A ><B >mo_u_8ToWord</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_s_8ToWord" ><A NAME="v%3Amo_s_8ToWord" ></A ></A ><B >mo_s_8ToWord</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_u_16ToWord" ><A NAME="v%3Amo_u_16ToWord" ></A ></A ><B >mo_u_16ToWord</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_s_16ToWord" ><A NAME="v%3Amo_s_16ToWord" ></A ></A ><B >mo_s_16ToWord</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_u_32ToWord" ><A NAME="v%3Amo_u_32ToWord" ></A ></A ><B >mo_u_32ToWord</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_s_32ToWord" ><A NAME="v%3Amo_s_32ToWord" ></A ></A ><B >mo_s_32ToWord</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_32To8" ><A NAME="v%3Amo_32To8" ></A ></A ><B >mo_32To8</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_32To16" ><A NAME="v%3Amo_32To16" ></A ></A ><B >mo_32To16</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_WordTo8" ><A NAME="v%3Amo_WordTo8" ></A ></A ><B >mo_WordTo8</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_WordTo16" ><A NAME="v%3Amo_WordTo16" ></A ></A ><B >mo_WordTo16</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mo_WordTo32" ><A NAME="v%3Amo_WordTo32" ></A ></A ><B >mo_WordTo32</B > :: <A HREF="CmmExpr.html#t%3AMachOp" >MachOp</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.1</TD ></TR ></TABLE ></BODY ></HTML >