<!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 >RegAlloc.Graph.SpillCost</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_RegAlloc-Graph-SpillCost.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" >RegAlloc.Graph.SpillCost</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" >type</SPAN > <A HREF="#t%3ASpillCostRecord" >SpillCostRecord</A > = (<A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</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 >, <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%3AplusSpillCostRecord" >plusSpillCostRecord</A > :: <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostRecord" >SpillCostRecord</A > -> <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostRecord" >SpillCostRecord</A > -> <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostRecord" >SpillCostRecord</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApprSpillCostRecord" >pprSpillCostRecord</A > :: (<A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</A > -> <A HREF="RegClass.html#t%3ARegClass" >RegClass</A >) -> (<A HREF="Reg.html#t%3AReg" >Reg</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A >) -> <A HREF="GraphBase.html#t%3AGraph" >Graph</A > <A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</A > <A HREF="RegClass.html#t%3ARegClass" >RegClass</A > <A HREF="Reg.html#t%3ARealReg" >RealReg</A > -> <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostRecord" >SpillCostRecord</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3ASpillCostInfo" >SpillCostInfo</A > = <A HREF="UniqFM.html#t%3AUniqFM" >UniqFM</A > <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostRecord" >SpillCostRecord</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AzeroSpillCostInfo" >zeroSpillCostInfo</A > :: <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AplusSpillCostInfo" >plusSpillCostInfo</A > :: <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A > -> <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A > -> <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AslurpSpillCostInfo" >slurpSpillCostInfo</A > :: (<A HREF="Outputable.html#t%3AOutputable" >Outputable</A > instr, <A HREF="Instruction.html#t%3AInstruction" >Instruction</A > instr) => <A HREF="RegAlloc-Liveness.html#t%3ALiveCmmTop" >LiveCmmTop</A > instr -> <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AchooseSpill" >chooseSpill</A > :: <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A > -> <A HREF="GraphBase.html#t%3AGraph" >Graph</A > <A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</A > <A HREF="RegClass.html#t%3ARegClass" >RegClass</A > <A HREF="Reg.html#t%3ARealReg" >RealReg</A > -> <A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlifeMapFromSpillCostInfo" >lifeMapFromSpillCostInfo</A > :: <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A > -> <A HREF="UniqFM.html#t%3AUniqFM" >UniqFM</A > (<A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</A >, <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</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" >type</SPAN > <A NAME="t:SpillCostRecord" ><A NAME="t%3ASpillCostRecord" ></A ></A ><B >SpillCostRecord</B > = (<A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</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 >, <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:plusSpillCostRecord" ><A NAME="v%3AplusSpillCostRecord" ></A ></A ><B >plusSpillCostRecord</B > :: <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostRecord" >SpillCostRecord</A > -> <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostRecord" >SpillCostRecord</A > -> <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostRecord" >SpillCostRecord</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:pprSpillCostRecord" ><A NAME="v%3ApprSpillCostRecord" ></A ></A ><B >pprSpillCostRecord</B > :: (<A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</A > -> <A HREF="RegClass.html#t%3ARegClass" >RegClass</A >) -> (<A HREF="Reg.html#t%3AReg" >Reg</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A >) -> <A HREF="GraphBase.html#t%3AGraph" >Graph</A > <A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</A > <A HREF="RegClass.html#t%3ARegClass" >RegClass</A > <A HREF="Reg.html#t%3ARealReg" >RealReg</A > -> <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostRecord" >SpillCostRecord</A > -> <A HREF="Outputable.html#t%3ASDoc" >SDoc</A ></TD ></TR ><TR ><TD CLASS="doc" >Show a spill cost record, including the degree from the graph and final calulated spill cos </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:SpillCostInfo" ><A NAME="t%3ASpillCostInfo" ></A ></A ><B >SpillCostInfo</B > = <A HREF="UniqFM.html#t%3AUniqFM" >UniqFM</A > <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostRecord" >SpillCostRecord</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:zeroSpillCostInfo" ><A NAME="v%3AzeroSpillCostInfo" ></A ></A ><B >zeroSpillCostInfo</B > :: <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:plusSpillCostInfo" ><A NAME="v%3AplusSpillCostInfo" ></A ></A ><B >plusSpillCostInfo</B > :: <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A > -> <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A > -> <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A ></TD ></TR ><TR ><TD CLASS="doc" >Add two spillCostInfos </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:slurpSpillCostInfo" ><A NAME="v%3AslurpSpillCostInfo" ></A ></A ><B >slurpSpillCostInfo</B > :: (<A HREF="Outputable.html#t%3AOutputable" >Outputable</A > instr, <A HREF="Instruction.html#t%3AInstruction" >Instruction</A > instr) => <A HREF="RegAlloc-Liveness.html#t%3ALiveCmmTop" >LiveCmmTop</A > instr -> <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A ></TD ></TR ><TR ><TD CLASS="doc" >Slurp out information used for determining spill costs for each vreg, the number of times it was written to, read from, and the number of instructions it was live on entry to (lifetime) </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:chooseSpill" ><A NAME="v%3AchooseSpill" ></A ></A ><B >chooseSpill</B > :: <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A > -> <A HREF="GraphBase.html#t%3AGraph" >Graph</A > <A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</A > <A HREF="RegClass.html#t%3ARegClass" >RegClass</A > <A HREF="Reg.html#t%3ARealReg" >RealReg</A > -> <A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</A ></TD ></TR ><TR ><TD CLASS="doc" >Choose a node to spill from this graph </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:lifeMapFromSpillCostInfo" ><A NAME="v%3AlifeMapFromSpillCostInfo" ></A ></A ><B >lifeMapFromSpillCostInfo</B > :: <A HREF="RegAlloc-Graph-SpillCost.html#t%3ASpillCostInfo" >SpillCostInfo</A > -> <A HREF="UniqFM.html#t%3AUniqFM" >UniqFM</A > (<A HREF="Reg.html#t%3AVirtualReg" >VirtualReg</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="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.1</TD ></TR ></TABLE ></BODY ></HTML >