diff options
Diffstat (limited to 'cil/doc/api/index_values.html')
-rw-r--r-- | cil/doc/api/index_values.html | 1964 |
1 files changed, 1964 insertions, 0 deletions
diff --git a/cil/doc/api/index_values.html b/cil/doc/api/index_values.html new file mode 100644 index 00000000..799daafd --- /dev/null +++ b/cil/doc/api/index_values.html @@ -0,0 +1,1964 @@ +<html> +<head> +<link rel="stylesheet" href="style.css" type="text/css"> +<link rel="Start" href="index.html"> +<link title="Index of types" rel=Appendix href="index_types.html"> +<link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> +<link title="Index of values" rel=Appendix href="index_values.html"> +<link title="Index of class methods" rel=Appendix href="index_methods.html"> +<link title="Index of classes" rel=Appendix href="index_classes.html"> +<link title="Index of class types" rel=Appendix href="index_class_types.html"> +<link title="Index of modules" rel=Appendix href="index_modules.html"> +<link title="Index of module types" rel=Appendix href="index_module_types.html"> +<link title="Pretty" rel="Chapter" href="Pretty.html"> +<link title="Errormsg" rel="Chapter" href="Errormsg.html"> +<link title="Clist" rel="Chapter" href="Clist.html"> +<link title="Stats" rel="Chapter" href="Stats.html"> +<link title="Cil" rel="Chapter" href="Cil.html"> +<link title="Formatcil" rel="Chapter" href="Formatcil.html"> +<link title="Alpha" rel="Chapter" href="Alpha.html"> +<link title="Cillower" rel="Chapter" href="Cillower.html"> +<link title="Cfg" rel="Chapter" href="Cfg.html"> +<link title="Dataflow" rel="Chapter" href="Dataflow.html"> +<link title="Dominators" rel="Chapter" href="Dominators.html"><title>CIL API Documentation (version 1.3.5) : Index of values</title> +</head> +<body> +<center><h1>Index of values</h1></center> +<table> +<tr><td align="left"><br></td></tr> +<tr><td><a href="Pretty.html#VAL(++)">(++)</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Concatenates two documents. +</div> +</td></tr> +<tr><td align="left"><br>A</td></tr> +<tr><td><a href="Cil.html#VALaddAttribute">addAttribute</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Add an attribute. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALaddAttributes">addAttributes</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Add a list of attributes. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALaddOffset">addOffset</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +<code class="code">addOffset o1 o2</code> adds <code class="code">o1</code> to the end of <code class="code">o2</code>. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALaddOffsetLval">addOffsetLval</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Add an offset at the end of an lvalue. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALadditiveLevel">additiveLevel</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALaddrOfLevel">addrOfLevel</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Pretty.html#VALalign">align</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Mark the current column as the current indentation level. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALalignOf_int">alignOf_int</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +The minimum alignment (in bytes) for a type. +</div> +</td></tr> +<tr><td><a href="Clist.html#VALappend">append</a> [<a href="Clist.html">Clist</a>]</td> +<td><div class="info"> +Append two clists +</div> +</td></tr> +<tr><td><a href="Cil.html#VALargsToList">argsToList</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Obtain the argument list ([] if None) +</div> +</td></tr> +<tr><td><a href="Cil.html#VALarrowLevel">arrowLevel</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALattributeHash">attributeHash</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +This table contains the mapping of predefined attributes to classes. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALauto_printer">auto_printer</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +A function that when used at top-level in a module will direct + the pa_prtype module generate automatically the printing functions for a + type +</div> +</td></tr> +<tr><td align="left"><br>B</td></tr> +<tr><td><a href="Cil.html#VALbitsOffset">bitsOffset</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Give a type of a base and an offset, returns the number of bits from the + base address and the width (also expressed in bits) for the subobject + denoted by the offset. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALbitsSizeOf">bitsSizeOf</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +The size of a type, in bits. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALbitwiseLevel">bitwiseLevel</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Pretty.html#VALbreak">break</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +A document that consists of either a space or a line break. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALbug">bug</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like <a href="Errormsg.html#VALbug"><code class="code">Errormsg.bug</code></a> except that <a href="Cil.html#VALcurrentLoc"><code class="code">Cil.currentLoc</code></a> is also printed +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALbug">bug</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Similar to <code class="code">error</code> except that its output has the form <code class="code">Bug: ...</code> +</div> +</td></tr> +<tr><td align="left"><br>C</td></tr> +<tr><td><a href="Formatcil.html#VALcExp">cExp</a> [<a href="Formatcil.html">Formatcil</a>]</td> +<td><div class="info"> +Constructs an expression based on the program and the list of arguments. +</div> +</td></tr> +<tr><td><a href="Formatcil.html#VALcInstr">cInstr</a> [<a href="Formatcil.html">Formatcil</a>]</td> +<td><div class="info"> +Constructs an instruction based on the program and the list of arguments. +</div> +</td></tr> +<tr><td><a href="Formatcil.html#VALcLval">cLval</a> [<a href="Formatcil.html">Formatcil</a>]</td> +<td><div class="info"> +Constructs an lval based on the program and the list of arguments. +</div> +</td></tr> +<tr><td><a href="Formatcil.html#VALcStmt">cStmt</a> [<a href="Formatcil.html">Formatcil</a>]</td> +<td></td></tr> +<tr><td><a href="Formatcil.html#VALcStmts">cStmts</a> [<a href="Formatcil.html">Formatcil</a>]</td> +<td><div class="info"> +Constructs a list of statements +</div> +</td></tr> +<tr><td><a href="Formatcil.html#VALcType">cType</a> [<a href="Formatcil.html">Formatcil</a>]</td> +<td><div class="info"> +Constructs a type based on the program and the list of arguments. +</div> +</td></tr> +<tr><td><a href="Cfg.html#VALcfgFun">cfgFun</a> [<a href="Cfg.html">Cfg</a>]</td> +<td><div class="info"> +Compute a control flow graph for fd. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcharConstPtrType">charConstPtrType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +char const * +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcharConstToInt">charConstToInt</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Given the character c in a (CChr c), sign-extend it to 32 bits. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcharPtrType">charPtrType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +char * +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcharType">charType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +char +</div> +</td></tr> +<tr><td><a href="Cil.html#VALchar_is_unsigned">char_is_unsigned</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Whether "char" is unsigned. +</div> +</td></tr> +<tr><td><a href="Clist.html#VALcheckBeforeAppend">checkBeforeAppend</a> [<a href="Clist.html">Clist</a>]</td> +<td><div class="info"> +A useful check to assert before an append. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALchr">chr</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +A document that prints a character. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcilVersion">cilVersion</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +This are the CIL version numbers. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcilVersionMajor">cilVersionMajor</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALcilVersionMinor">cilVersionMinor</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALcilVersionRevision">cilVersionRevision</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cfg.html#VALclearCFGinfo">clearCFGinfo</a> [<a href="Cfg.html">Cfg</a>]</td> +<td><div class="info"> +clear the sid, succs, and preds fields of each statment in a function +</div> +</td></tr> +<tr><td><a href="Cfg.html#VALclearFileCFG">clearFileCFG</a> [<a href="Cfg.html">Cfg</a>]</td> +<td><div class="info"> +clear the sid, succs, and preds fields of each statement. +</div> +</td></tr> +<tr><td><a href="Dataflow.ForwardsTransfer.html#VALcombinePredecessors">combinePredecessors</a> [<a href="Dataflow.ForwardsTransfer.html">Dataflow.ForwardsTransfer</a>]</td> +<td><div class="info"> +Take some old data for the start of a statement, and some new data for + the same point. +</div> +</td></tr> +<tr><td><a href="Dataflow.BackwardsTransfer.html#VALcombineStmtStartData">combineStmtStartData</a> [<a href="Dataflow.BackwardsTransfer.html">Dataflow.BackwardsTransfer</a>]</td> +<td><div class="info"> +When the analysis reaches the start of a block, combine the old data + with the one we have just computed. +</div> +</td></tr> +<tr><td><a href="Dataflow.BackwardsTransfer.html#VALcombineSuccessors">combineSuccessors</a> [<a href="Dataflow.BackwardsTransfer.html">Dataflow.BackwardsTransfer</a>]</td> +<td><div class="info"> +Take the data from two successors and combine it +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcompFullName">compFullName</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Get the full name of a comp +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcompactStmts">compactStmts</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Try to compress statements so as to get maximal basic blocks +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcomparativeLevel">comparativeLevel</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALcompareLoc">compareLoc</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Comparison function for locations. +</div> +</td></tr> +<tr><td><a href="Dataflow.BackwardsDataFlow.html#VALcompute">compute</a> [<a href="Dataflow.BackwardsDataFlow.html">Dataflow.BackwardsDataFlow</a>]</td> +<td><div class="info"> +Fill in the T.stmtStartData, given a number of initial statements to + start from (the sinks for the backwards data flow). +</div> +</td></tr> +<tr><td><a href="Dataflow.ForwardsDataFlow.html#VALcompute">compute</a> [<a href="Dataflow.ForwardsDataFlow.html">Dataflow.ForwardsDataFlow</a>]</td> +<td><div class="info"> +Fill in the T.stmtStartData, given a number of initial statements to + start from. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcomputeCFGInfo">computeCFGInfo</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Compute the CFG information for all statements in a fundec and return a + list of the statements. +</div> +</td></tr> +<tr><td><a href="Cfg.html#VALcomputeFileCFG">computeFileCFG</a> [<a href="Cfg.html">Cfg</a>]</td> +<td><div class="info"> +Compute the CFG for an entire file, by calling cfgFun on each function. +</div> +</td></tr> +<tr><td><a href="Dataflow.ForwardsTransfer.html#VALcomputeFirstPredecessor">computeFirstPredecessor</a> [<a href="Dataflow.ForwardsTransfer.html">Dataflow.ForwardsTransfer</a>]</td> +<td><div class="info"> +Give the first value for a predecessors, compute the value to be set + for the block +</div> +</td></tr> +<tr><td><a href="Dominators.html#VALcomputeIDom">computeIDom</a> [<a href="Dominators.html">Dominators</a>]</td> +<td><div class="info"> +Invoke on a code after filling in the CFG info and it computes the + immediate dominator information. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALconcat">concat</a> [<a href="Pretty.html">Pretty</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALconstFold">constFold</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Do constant folding on an expression. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALconstFoldBinOp">constFoldBinOp</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Do constant folding on a binary operation. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALconstFoldVisitor">constFoldVisitor</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +A visitor that does constant folding. +</div> +</td></tr> +<tr><td><a href="Dataflow.ForwardsTransfer.html#VALcopy">copy</a> [<a href="Dataflow.ForwardsTransfer.html">Dataflow.ForwardsTransfer</a>]</td> +<td><div class="info"> +Make a deep copy of the data +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcopyCompInfo">copyCompInfo</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Makes a shallow copy of a <a href="Cil.html#TYPEcompinfo"><code class="code">Cil.compinfo</code></a> changing the name and the key. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcopyFunction">copyFunction</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Create a deep copy of a function. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcopyVarinfo">copyVarinfo</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make a shallow copy of a <code class="code">varinfo</code> and assign a new identifier +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALcountNewLines">countNewLines</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Keep a running count of the taken newlines. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcurrentGlobal">currentGlobal</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +A reference to the current global being visited +</div> +</td></tr> +<tr><td><a href="Cil.html#VALcurrentLoc">currentLoc</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +A reference to the current location. +</div> +</td></tr> +<tr><td align="left"><br>D</td></tr> +<tr><td><a href="Formatcil.html#VALdExp">dExp</a> [<a href="Formatcil.html">Formatcil</a>]</td> +<td><div class="info"> +Deconstructs an expression based on the program. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdExp">dExp</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Generate an <a href="Cil.html#TYPEexp"><code class="code">Cil.exp</code></a> to be used in case of errors. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdGlobal">dGlobal</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Generate a <a href="Cil.html#TYPEglobal"><code class="code">Cil.global</code></a> to be used in case of errors. +</div> +</td></tr> +<tr><td><a href="Formatcil.html#VALdInstr">dInstr</a> [<a href="Formatcil.html">Formatcil</a>]</td> +<td><div class="info"> +Deconstructs an instruction based on the program. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdInstr">dInstr</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Generate an <a href="Cil.html#TYPEinstr"><code class="code">Cil.instr</code></a> to be used in case of errors. +</div> +</td></tr> +<tr><td><a href="Formatcil.html#VALdLval">dLval</a> [<a href="Formatcil.html">Formatcil</a>]</td> +<td><div class="info"> +Deconstructs an lval based on the program. +</div> +</td></tr> +<tr><td><a href="Formatcil.html#VALdType">dType</a> [<a href="Formatcil.html">Formatcil</a>]</td> +<td><div class="info"> +Deconstructs a type based on the program. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_attr">d_attr</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print an attribute using <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a> +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_attrlist">d_attrlist</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print a list of attributes using <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a> +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_attrparam">d_attrparam</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print an argument of an attribute using <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a> +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_binop">d_binop</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print a binary operator +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_block">d_block</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print a block using <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a>. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_const">d_const</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print a constant +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_exp">d_exp</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print an expression using <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a> +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_fkind">d_fkind</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print a floating-point kind +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_formatarg">d_formatarg</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-prints a format arg +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_global">d_global</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print the internal representation of a global using + <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a>. +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALd_hloc">d_hloc</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALd_ikind">d_ikind</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print an integer of a given kind +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_init">d_init</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print an initializer using <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a>. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_instr">d_instr</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print an instruction using <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a> +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALd_int32">d_int32</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Print an int32 +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALd_int64">d_int64</a> [<a href="Pretty.html">Pretty</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALd_label">d_label</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print a label using <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a> +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALd_list">d_list</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +sm: Yet another list printer. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_loc">d_loc</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print a location +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALd_loc">d_loc</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALd_lval">d_lval</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print an lvalue using <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a> +</div> +</td></tr> +<tr><td><a href="Pretty.MakeMapPrinter.html#VALd_map">d_map</a> [<a href="Pretty.MakeMapPrinter.html">Pretty.MakeMapPrinter</a>]</td> +<td><div class="info"> +Format a map, analogous to d_list. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_offset">d_offset</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print an offset using <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a>, given the pretty + printing for the base. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_plainexp">d_plainexp</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print the internal representation of an expression +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_plaininit">d_plaininit</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print the internal representation of an integer +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_plainlval">d_plainlval</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print the internal representation of an lvalue +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_plaintype">d_plaintype</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print the internal representation of a type +</div> +</td></tr> +<tr><td><a href="Pretty.MakeSetPrinter.html#VALd_set">d_set</a> [<a href="Pretty.MakeSetPrinter.html">Pretty.MakeSetPrinter</a>]</td> +<td><div class="info"> +Format a set, analogous to d_list. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_shortglobal">d_shortglobal</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print a short description of the global. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_stmt">d_stmt</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print a statement using <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a>. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_storage">d_storage</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print storage-class information +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_thisloc">d_thisloc</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print the <a href="Cil.html#VALcurrentLoc"><code class="code">Cil.currentLoc</code></a> +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_type">d_type</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print a type using <a href="Cil.html#VALdefaultCilPrinter"><code class="code">Cil.defaultCilPrinter</code></a> +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_typsig">d_typsig</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Print a type signature +</div> +</td></tr> +<tr><td><a href="Cil.html#VALd_unop">d_unop</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print a unary operator +</div> +</td></tr> +<tr><td><a href="Dataflow.BackwardsTransfer.html#VALdebug">debug</a> [<a href="Dataflow.BackwardsTransfer.html">Dataflow.BackwardsTransfer</a>]</td> +<td><div class="info"> +Whether to turn on debugging +</div> +</td></tr> +<tr><td><a href="Dataflow.ForwardsTransfer.html#VALdebug">debug</a> [<a href="Dataflow.ForwardsTransfer.html">Dataflow.ForwardsTransfer</a>]</td> +<td><div class="info"> +Whether to turn on debugging +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALdebugFlag">debugFlag</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +If set then print debugging info +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdefaultCilPrinter">defaultCilPrinter</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALderefStarLevel">derefStarLevel</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALdn_attr">dn_attr</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALdn_attrlist">dn_attrlist</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALdn_attrparam">dn_attrparam</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALdn_exp">dn_exp</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Versions of the above pretty printers, that don't print #line directives +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdn_global">dn_global</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALdn_init">dn_init</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALdn_instr">dn_instr</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALdn_lval">dn_lval</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALdn_stmt">dn_stmt</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALdn_type">dn_type</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Dataflow.ForwardsTransfer.html#VALdoGuard">doGuard</a> [<a href="Dataflow.ForwardsTransfer.html">Dataflow.ForwardsTransfer</a>]</td> +<td><div class="info"> +Generate the successor to an If statement assuming the given expression + is nonzero. +</div> +</td></tr> +<tr><td><a href="Dataflow.BackwardsTransfer.html#VALdoInstr">doInstr</a> [<a href="Dataflow.BackwardsTransfer.html">Dataflow.BackwardsTransfer</a>]</td> +<td><div class="info"> +The (backwards) transfer function for an instruction. +</div> +</td></tr> +<tr><td><a href="Dataflow.ForwardsTransfer.html#VALdoInstr">doInstr</a> [<a href="Dataflow.ForwardsTransfer.html">Dataflow.ForwardsTransfer</a>]</td> +<td><div class="info"> +The (forwards) transfer function for an instruction. +</div> +</td></tr> +<tr><td><a href="Dataflow.BackwardsTransfer.html#VALdoStmt">doStmt</a> [<a href="Dataflow.BackwardsTransfer.html">Dataflow.BackwardsTransfer</a>]</td> +<td><div class="info"> +The (backwards) transfer function for a branch. +</div> +</td></tr> +<tr><td><a href="Dataflow.ForwardsTransfer.html#VALdoStmt">doStmt</a> [<a href="Dataflow.ForwardsTransfer.html">Dataflow.ForwardsTransfer</a>]</td> +<td><div class="info"> +The (forwards) transfer function for a statement. +</div> +</td></tr> +<tr><td><a href="Alpha.html#VALdocAlphaTable">docAlphaTable</a> [<a href="Alpha.html">Alpha</a>]</td> +<td><div class="info"> +Split the name in preparation for newAlphaName. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALdocArray">docArray</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Formats an array. +</div> +</td></tr> +<tr><td><a href="Clist.html#VALdocCList">docCList</a> [<a href="Clist.html">Clist</a>]</td> +<td><div class="info"> +A document for printing a clist (similar to <code class="code">docList</code>) +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALdocList">docList</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +An alternative function for printing a list. +</div> +</td></tr> +<tr><td><a href="Pretty.MakeMapPrinter.html#VALdocMap">docMap</a> [<a href="Pretty.MakeMapPrinter.html">Pretty.MakeMapPrinter</a>]</td> +<td><div class="info"> +Format a map, analogous to docList. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALdocOpt">docOpt</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Prints an <code class="code">'a option</code> with <code class="code">None</code> or <code class="code">Some</code> +</div> +</td></tr> +<tr><td><a href="Pretty.MakeSetPrinter.html#VALdocSet">docSet</a> [<a href="Pretty.MakeSetPrinter.html">Pretty.MakeSetPrinter</a>]</td> +<td><div class="info"> +Format a set, analogous to docList. +</div> +</td></tr> +<tr><td><a href="Dominators.html#VALdominates">dominates</a> [<a href="Dominators.html">Dominators</a>]</td> +<td><div class="info"> +Check whether one statement dominates another. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdoubleType">doubleType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +double +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALdprintf">dprintf</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +This function provides an alternative method for constructing + <code class="code">doc</code> objects. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdropAttribute">dropAttribute</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Remove all attributes with the given name. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdropAttributes">dropAttributes</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Remove all attributes with names appearing in the string list. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdummyFile">dummyFile</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +A dummy file +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdummyFunDec">dummyFunDec</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +A dummy function declaration handy when you need one as a placeholder. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdummyInstr">dummyInstr</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +A instr to serve as a placeholder +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdummyStmt">dummyStmt</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +A statement consisting of just <code class="code">dummyInstr</code> +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdumpBlock">dumpBlock</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Dump a block to a file using a given indentation. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdumpFile">dumpFile</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print an entire file. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdumpGlobal">dumpGlobal</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Pretty-print a global. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdumpInit">dumpInit</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Dump an initializer to a file using a given indentation. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALdumpStmt">dumpStmt</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Dump a statement to a file using a given indentation. +</div> +</td></tr> +<tr><td align="left"><br>E</td></tr> +<tr><td><a href="Clist.html#VALempty">empty</a> [<a href="Clist.html">Clist</a>]</td> +<td><div class="info"> +The empty clist +</div> +</td></tr> +<tr><td><a href="Cil.html#VALemptyFunction">emptyFunction</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make an empty function +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALeprintf">eprintf</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Like <a href="Pretty.html#VALfprintf"><code class="code">Pretty.fprintf</code></a> applied to <code class="code">stderr</code> +</div> +</td></tr> +<tr><td><a href="Cil.html#VALerror">error</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like <a href="Errormsg.html#VALerror"><code class="code">Errormsg.error</code></a> except that <a href="Cil.html#VALcurrentLoc"><code class="code">Cil.currentLoc</code></a> is also printed +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALerror">error</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Prints an error message of the form <code class="code">Error: ...</code>. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALerrorLoc">errorLoc</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like <a href="Cil.html#VALerror"><code class="code">Cil.error</code></a> except that it explicitly takes a location argument, + instead of using the <a href="Cil.html#VALcurrentLoc"><code class="code">Cil.currentLoc</code></a> +</div> +</td></tr> +<tr><td><a href="Cil.html#VALexistsType">existsType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Scans a type by applying the function on all elements. +</div> +</td></tr> +<tr><td align="left"><br>F</td></tr> +<tr><td><a href="Pretty.html#VALf_int32">f_int32</a> [<a href="Pretty.html">Pretty</a>]</td> +<td></td></tr> +<tr><td><a href="Pretty.html#VALf_int64">f_int64</a> [<a href="Pretty.html">Pretty</a>]</td> +<td></td></tr> +<tr><td><a href="Pretty.html#VALfastMode">fastMode</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +If set to <code class="code">true</code> then optional breaks are taken only when the document + has exceeded the given width. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALfilterAttributes">filterAttributes</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Retains attributes with the given name +</div> +</td></tr> +<tr><td><a href="Dataflow.BackwardsTransfer.html#VALfilterStmt">filterStmt</a> [<a href="Dataflow.BackwardsTransfer.html">Dataflow.BackwardsTransfer</a>]</td> +<td><div class="info"> +Whether to put this predecessor block in the worklist. +</div> +</td></tr> +<tr><td><a href="Dataflow.ForwardsTransfer.html#VALfilterStmt">filterStmt</a> [<a href="Dataflow.ForwardsTransfer.html">Dataflow.ForwardsTransfer</a>]</td> +<td><div class="info"> +Whether to put this statement in the worklist. +</div> +</td></tr> +<tr><td><a href="Dominators.html#VALfindNaturalLoops">findNaturalLoops</a> [<a href="Dominators.html">Dominators</a>]</td> +<td><div class="info"> +Compute the start of the natural loops. +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALfinishParsing">finishParsing</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Pretty.html#VALflushOften">flushOften</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +If true the it flushes after every print +</div> +</td></tr> +<tr><td><a href="Cil.html#VALfoldGlobals">foldGlobals</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Fold over all globals, including the global initializer +</div> +</td></tr> +<tr><td><a href="Cil.html#VALfoldLeftCompound">foldLeftCompound</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Fold over the list of initializers in a Compound. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALfoldLeftCompoundAll">foldLeftCompoundAll</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Fold over the list of initializers in a Compound, like + <a href="Cil.html#VALfoldLeftCompound"><code class="code">Cil.foldLeftCompound</code></a> but in the case of an array it scans even missing + zero initializers at the end of the array +</div> +</td></tr> +<tr><td><a href="Clist.html#VALfold_left">fold_left</a> [<a href="Clist.html">Clist</a>]</td> +<td><div class="info"> +A version of fold_left that works on clists +</div> +</td></tr> +<tr><td><a href="Cil.html#VALforgcc">forgcc</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Return the string 's' if we're printing output for gcc, suppres + it if we're printing for CIL to parse back in. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALfprint">fprint</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Format the document to the given width and emit it to the given channel +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALfprintf">fprintf</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Like <a href="Pretty.html#VALdprintf"><code class="code">Pretty.dprintf</code></a> followed by <a href="Pretty.html#VALfprint"><code class="code">Pretty.fprint</code></a> +</div> +</td></tr> +<tr><td><a href="Clist.html#VALfromList">fromList</a> [<a href="Clist.html">Clist</a>]</td> +<td><div class="info"> +Convert an ordinary list to a clist +</div> +</td></tr> +<tr><td align="left"><br>G</td></tr> +<tr><td><a href="Cil.html#VALgccBuiltins">gccBuiltins</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +A list of the GCC built-in functions. +</div> +</td></tr> +<tr><td><a href="Alpha.html#VALgetAlphaPrefix">getAlphaPrefix</a> [<a href="Alpha.html">Alpha</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALgetCompField">getCompField</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Return a named fieldinfo in compinfo, or raise Not_found +</div> +</td></tr> +<tr><td><a href="Cil.html#VALgetGlobInit">getGlobInit</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Get the global initializer and create one if it does not already exist. +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALgetHPosition">getHPosition</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +high-level position +</div> +</td></tr> +<tr><td><a href="Dominators.html#VALgetIdom">getIdom</a> [<a href="Dominators.html">Dominators</a>]</td> +<td><div class="info"> +This is like Inthash.find but gives an error if the information is + Not_found +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALgetLocation">getLocation</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALgetParenthLevel">getParenthLevel</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Parentheses level. +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALgetPosition">getPosition</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALget_globalLoc">get_globalLoc</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Return the location of a global, or locUnknown +</div> +</td></tr> +<tr><td><a href="Cil.html#VALget_instrLoc">get_instrLoc</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Return the location of an instruction +</div> +</td></tr> +<tr><td><a href="Cil.html#VALget_stmtLoc">get_stmtLoc</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Return the location of a statement, or locUnknown +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALgprintf">gprintf</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Like <a href="Pretty.html#VALdprintf"><code class="code">Pretty.dprintf</code></a> but more general. +</div> +</td></tr> +<tr><td align="left"><br>H</td></tr> +<tr><td><a href="Errormsg.html#VALhadErrors">hadErrors</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +This is set whenever one of the above error functions are called. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALhasAttribute">hasAttribute</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +True if the named attribute appears in the attribute list. +</div> +</td></tr> +<tr><td><a href="Stats.html#VALhas_performance_counters">has_performance_counters</a> [<a href="Stats.html">Stats</a>]</td> +<td><div class="info"> +Check if we have performance counters +</div> +</td></tr> +<tr><td align="left"><br>I</td></tr> +<tr><td><a href="Cil.html#VALincrem">increm</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Increment an expression. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALindent">indent</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Indents the document. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALindexLevel">indexLevel</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALinitCIL">initCIL</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Call this function to perform some initialization. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALinsert">insert</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +A function that is useful with the <code class="code">printf</code>-like interface +</div> +</td></tr> +<tr><td><a href="Cil.html#VALinsertImplicitCasts">insertImplicitCasts</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Do insert implicit casts (default true) +</div> +</td></tr> +<tr><td><a href="Cil.html#VALintPtrType">intPtrType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +int * +</div> +</td></tr> +<tr><td><a href="Cil.html#VALintType">intType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +int +</div> +</td></tr> +<tr><td><a href="Cil.html#VALinteger">integer</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Construct an integer of kind IInt. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALinvalidStmt">invalidStmt</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +An empty statement. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALisArithmeticType">isArithmeticType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +True if the argument is an arithmetic type (i.e. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALisArrayType">isArrayType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +True if the argument is an array type +</div> +</td></tr> +<tr><td><a href="Cil.html#VALisCompleteType">isCompleteType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Returns true if this is a complete type. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALisConstant">isConstant</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +True if the expression is a compile-time constant +</div> +</td></tr> +<tr><td><a href="Cil.html#VALisFunctionType">isFunctionType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +True if the argument is a function type +</div> +</td></tr> +<tr><td><a href="Cil.html#VALisInteger">isInteger</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +True if the given expression is a (possibly cast'ed) + character or an integer constant +</div> +</td></tr> +<tr><td><a href="Cil.html#VALisIntegralType">isIntegralType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +True if the argument is an integral type (i.e. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALisPointerType">isPointerType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +True if the argument is a pointer type +</div> +</td></tr> +<tr><td><a href="Cil.html#VALisSigned">isSigned</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Returns true if and only if the given integer type is signed. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALisVoidPtrType">isVoidPtrType</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALisVoidType">isVoidType</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALisZero">isZero</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +True if the given expression is a (possibly cast'ed) integer or character + constant with value zero +</div> +</td></tr> +<tr><td><a href="Clist.html#VALiter">iter</a> [<a href="Clist.html">Clist</a>]</td> +<td><div class="info"> +A version of iter that works on clists +</div> +</td></tr> +<tr><td><a href="Cil.html#VALiterGlobals">iterGlobals</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Iterate over all globals, including the global initializer +</div> +</td></tr> +<tr><td align="left"><br>K</td></tr> +<tr><td><a href="Cil.html#VALkinteger">kinteger</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Construct an integer of a given kind. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALkinteger64">kinteger64</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Construct an integer of a given kind, using OCaml's int64 type. +</div> +</td></tr> +<tr><td align="left"><br>L</td></tr> +<tr><td><a href="Stats.html#VALlastTime">lastTime</a> [<a href="Stats.html">Stats</a>]</td> +<td><div class="info"> +Time a function and set lastTime to the time it took +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALleftflush">leftflush</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Use after a <a href="Pretty.html#VALline"><code class="code">Pretty.line</code></a> to prevent the indentation. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALlenOfArray">lenOfArray</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Call to compute the array length as present in the array type, to an + integer. +</div> +</td></tr> +<tr><td><a href="Clist.html#VALlength">length</a> [<a href="Clist.html">Clist</a>]</td> +<td><div class="info"> +Find the length of a clist +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALline">line</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +A document that consists of a mandatory newline. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALlineDirectiveStyle">lineDirectiveStyle</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +How to print line directives +</div> +</td></tr> +<tr><td><a href="Cil.html#VALlineLength">lineLength</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +The length used when wrapping output lines. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALlittle_endian">little_endian</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Whether the machine is little endian. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALloadBinaryFile">loadBinaryFile</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Read a <a href="Cil.html#TYPEfile"><code class="code">Cil.file</code></a> in binary form from the filesystem. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALlocUnknown">locUnknown</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Represents a location that cannot be determined +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALlocUnknown">locUnknown</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +An unknown location for use when you need one but you don't have one +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALlog">log</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Print something to <code class="code">logChannel</code> +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALlogChannel">logChannel</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +A channel for printing log messages +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALlogg">logg</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +same as <a href="Errormsg.html#VALlog"><code class="code">Errormsg.log</code></a> but do not wrap lines +</div> +</td></tr> +<tr><td><a href="Cil.html#VALlongType">longType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +long +</div> +</td></tr> +<tr><td><a href="Cil.html#VALlowerConstants">lowerConstants</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Do lower constants (default true) +</div> +</td></tr> +<tr><td><a href="Cillower.html#VALlowerEnumVisitor">lowerEnumVisitor</a> [<a href="Cillower.html">Cillower</a>]</td> +<td><div class="info"> +Replace enumeration constants with integer constants +</div> +</td></tr> +<tr><td align="left"><br>M</td></tr> +<tr><td><a href="Cil.html#VALmakeFormalVar">makeFormalVar</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make a formal variable for a function. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmakeGlobalVar">makeGlobalVar</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make a global variable. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmakeLocalVar">makeLocalVar</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make a local variable and add it to a function's slocals (only if insert = + true, which is the default). +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmakeTempVar">makeTempVar</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make a temporary variable and add it to a function's slocals. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmakeVarinfo">makeVarinfo</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make a varinfo. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmakeZeroInit">makeZeroInit</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make a initializer for zero-ing a data type +</div> +</td></tr> +<tr><td><a href="Clist.html#VALmap">map</a> [<a href="Clist.html">Clist</a>]</td> +<td><div class="info"> +Map a function over a clist. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmapGlobals">mapGlobals</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Map over all globals, including the global initializer and change things + in place +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmapNoCopy">mapNoCopy</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like map but try not to make a copy of the list +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmapNoCopyList">mapNoCopyList</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like map but each call can return a list. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALmark">mark</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Mark the beginning of a markup section. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALmarkup">markup</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Prints a document as markup. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmissingFieldName">missingFieldName</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +This is a constant used as the name of an unnamed bitfield. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkAddrOf">mkAddrOf</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make an AddrOf. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkAddrOrStartOf">mkAddrOrStartOf</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like mkAddrOf except if the type of lval is an array then it uses + StartOf. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkBlock">mkBlock</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Construct a block with no attributes, given a list of statements +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkCast">mkCast</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like <a href="Cil.html#VALmkCastT"><code class="code">Cil.mkCastT</code></a> but uses typeOf to get <code class="code">oldt</code> +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkCastT">mkCastT</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Construct a cast when having the old type of the expression. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkCompInfo">mkCompInfo</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Creates a a (potentially recursive) composite type. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkEmptyStmt">mkEmptyStmt</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Returns an empty statement (of kind <code class="code">Instr</code>) +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkFor">mkFor</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make a for loop for(start; guard; next) { ... +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkForIncr">mkForIncr</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make a for loop for(i=start; i<past; i += incr) { ... +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkMem">mkMem</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make a Mem, while optimizing AddrOf. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkStmt">mkStmt</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Construct a statement, given its kind. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkStmtOneInstr">mkStmtOneInstr</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Construct a statement consisting of just one instruction +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkString">mkString</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make an expression that is a string constant (of pointer type) +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmkWhile">mkWhile</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Make a while loop. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmone">mone</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +-1 +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmsvcBuiltins">msvcBuiltins</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +A list of the MSVC built-in functions. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALmsvcMode">msvcMode</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Whether the pretty printer should print output for the MS VC compiler. +</div> +</td></tr> +<tr><td align="left"><br>N</td></tr> +<tr><td><a href="Dataflow.BackwardsTransfer.html#VALname">name</a> [<a href="Dataflow.BackwardsTransfer.html">Dataflow.BackwardsTransfer</a>]</td> +<td><div class="info"> +For debugging purposes, the name of the analysis +</div> +</td></tr> +<tr><td><a href="Dataflow.ForwardsTransfer.html#VALname">name</a> [<a href="Dataflow.ForwardsTransfer.html">Dataflow.ForwardsTransfer</a>]</td> +<td><div class="info"> +For debugging purposes, the name of the analysis +</div> +</td></tr> +<tr><td><a href="Alpha.html#VALnewAlphaName">newAlphaName</a> [<a href="Alpha.html">Alpha</a>]</td> +<td><div class="info"> +Create a new name based on a given name. +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALnewHline">newHline</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALnewVID">newVID</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Generate a new variable ID. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALnew_sid">new_sid</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Errormsg.html#VALnewline">newline</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Pretty.html#VALnil">nil</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Constructs an empty document +</div> +</td></tr> +<tr><td><a href="Formatcil.html#VALnoMemoize">noMemoize</a> [<a href="Formatcil.html">Formatcil</a>]</td> +<td><div class="info"> +If set then will not memoize the parsed patterns +</div> +</td></tr> +<tr><td><a href="Cfg.html#VALnodeList">nodeList</a> [<a href="Cfg.html">Cfg</a>]</td> +<td><div class="info"> +All of the nodes in a file. +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALnull">null</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Do not actually print (i.e. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALnum">num</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +A document that prints an integer in decimal form +</div> +</td></tr> +<tr><td><a href="Cfg.html#VALnumNodes">numNodes</a> [<a href="Cfg.html">Cfg</a>]</td> +<td><div class="info"> +number of nodes in the CFG +</div> +</td></tr> +<tr><td align="left"><br>O</td></tr> +<tr><td><a href="Cil.html#VALone">one</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +1 +</div> +</td></tr> +<tr><td align="left"><br>P</td></tr> +<tr><td><a href="Cil.html#VALparseInt">parseInt</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Convert a string representing a C integer literal to an expression. +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALparse_error">parse_error</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALpartitionAttributes">partitionAttributes</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Partition the attributes into classes:name attributes, function type, + and type attributes +</div> +</td></tr> +<tr><td><a href="Cil.html#VALpeepHole1">peepHole1</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Similar to <code class="code">peepHole2</code> except that the optimization window consists of + one statement, not two +</div> +</td></tr> +<tr><td><a href="Cil.html#VALpeepHole2">peepHole2</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +A peephole optimizer that processes two adjacent statements and possibly + replaces them both. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALplainCilPrinter">plainCilPrinter</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Errormsg.html#VALpopContext">popContext</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Removes the last registered context printing function +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprepareCFG">prepareCFG</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Prepare a function for CFG information computation by + <a href="Cil.html#VALcomputeCFGInfo"><code class="code">Cil.computeCFGInfo</code></a>. +</div> +</td></tr> +<tr><td><a href="Dataflow.BackwardsTransfer.html#VALpretty">pretty</a> [<a href="Dataflow.BackwardsTransfer.html">Dataflow.BackwardsTransfer</a>]</td> +<td><div class="info"> +Pretty-print the state +</div> +</td></tr> +<tr><td><a href="Dataflow.ForwardsTransfer.html#VALpretty">pretty</a> [<a href="Dataflow.ForwardsTransfer.html">Dataflow.ForwardsTransfer</a>]</td> +<td><div class="info"> +Pretty-print the state +</div> +</td></tr> +<tr><td><a href="Stats.html#VALprint">print</a> [<a href="Stats.html">Stats</a>]</td> +<td><div class="info"> +Print the current stats preceeded by a message +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprintAttr">printAttr</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Print an attribute given a pretty printer +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprintAttrs">printAttrs</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Print a set of attributes given a pretty printer +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprintBlock">printBlock</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Print a block given a pretty printer. +</div> +</td></tr> +<tr><td><a href="Cfg.html#VALprintCfgChannel">printCfgChannel</a> [<a href="Cfg.html">Cfg</a>]</td> +<td><div class="info"> +print control flow graph (in dot form) for fundec to channel +</div> +</td></tr> +<tr><td><a href="Cfg.html#VALprintCfgFilename">printCfgFilename</a> [<a href="Cfg.html">Cfg</a>]</td> +<td><div class="info"> +Print control flow graph (in dot form) for fundec to file +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprintCilAsIs">printCilAsIs</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Whether to print the CIL as they are, without trying to be smart and + print nicer code. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALprintDepth">printDepth</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Specifies the nesting depth of the <code class="code">align</code>/<code class="code">unalign</code> pairs at which + everything is replaced with ellipsis +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprintExp">printExp</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Print an expression given a pretty printer +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprintGlobal">printGlobal</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Print a global given a pretty printer +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALprintIndent">printIndent</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +If false then does not indent +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprintInit">printInit</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Print an initializer given a pretty printer. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprintInstr">printInstr</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Print an instruction given a pretty printer +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprintLval">printLval</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Print an lvalue given a pretty printer +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprintStmt">printStmt</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Print a statement given a pretty printer. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprintType">printType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Print a type given a pretty printer +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprint_CIL_Input">print_CIL_Input</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Whether we print something that will only be used as input to our own + parser. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALprinterForMaincil">printerForMaincil</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Pretty.html#VALprintf">printf</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Like <a href="Pretty.html#VALfprintf"><code class="code">Pretty.fprintf</code></a> applied to <code class="code">stdout</code> +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALpushContext">pushContext</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Registers a context printing function +</div> +</td></tr> +<tr><td><a href="Cil.html#VALpushGlobal">pushGlobal</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +CIL keeps the types at the beginning of the file and the variables at the + end of the file. +</div> +</td></tr> +<tr><td align="left"><br>R</td></tr> +<tr><td><a href="Errormsg.html#VALreadingFromStdin">readingFromStdin</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Records whether the stdin is open for reading the goal * +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALreal">real</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +A document that prints a real number +</div> +</td></tr> +<tr><td><a href="Alpha.html#VALregisterAlphaName">registerAlphaName</a> [<a href="Alpha.html">Alpha</a>]</td> +<td><div class="info"> +Register a name with an alpha conversion table to ensure that when later + we call newAlphaName we do not end up generating this one +</div> +</td></tr> +<tr><td><a href="Cil.html#VALremoveOffset">removeOffset</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Remove ONE offset from the end of an offset sequence. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALremoveOffsetLval">removeOffsetLval</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Remove ONE offset from the end of an lvalue. +</div> +</td></tr> +<tr><td><a href="Stats.html#VALrepeattime">repeattime</a> [<a href="Stats.html">Stats</a>]</td> +<td><div class="info"> +repeattime is like time but runs the function several times until the total + running time is greater or equal to the first argument. +</div> +</td></tr> +<tr><td><a href="Stats.html#VALreset">reset</a> [<a href="Stats.html">Stats</a>]</td> +<td><div class="info"> +Resets all the timings. +</div> +</td></tr> +<tr><td><a href="Clist.html#VALrev">rev</a> [<a href="Clist.html">Clist</a>]</td> +<td><div class="info"> +Reverse a clist. +</div> +</td></tr> +<tr><td align="left"><br>S</td></tr> +<tr><td><a href="Errormsg.html#VALs">s</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Stop the execution by raising an Error. +</div> +</td></tr> +<tr><td><a href="Stats.html#VALsample_pentium_perfcount_10">sample_pentium_perfcount_10</a> [<a href="Stats.html">Stats</a>]</td> +<td><div class="info"> +Sample the current cycle count, in kilocycles. +</div> +</td></tr> +<tr><td><a href="Stats.html#VALsample_pentium_perfcount_20">sample_pentium_perfcount_20</a> [<a href="Stats.html">Stats</a>]</td> +<td><div class="info"> +Sample the current cycle count, in megacycles. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALsaveBinaryFile">saveBinaryFile</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Write a <a href="Cil.html#TYPEfile"><code class="code">Cil.file</code></a> in binary form to the filesystem. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALsaveBinaryFileChannel">saveBinaryFileChannel</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Write a <a href="Cil.html#TYPEfile"><code class="code">Cil.file</code></a> in binary form to the filesystem. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALseparateStorageModifiers">separateStorageModifiers</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Separate out the storage-modifier name attributes +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALseq">seq</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Formats a sequence. +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALsetCurrentFile">setCurrentFile</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Errormsg.html#VALsetCurrentLine">setCurrentLine</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALsetFormals">setFormals</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Update the formals of a <code class="code">fundec</code> and make sure that the function type + has the same information. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALsetFunctionType">setFunctionType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Set the types of arguments and results as given by the function type + passed as the second argument. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALsetFunctionTypeMakeFormals">setFunctionTypeMakeFormals</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Set the type of the function and make formal arguments for them +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALsetHFile">setHFile</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Errormsg.html#VALsetHLine">setHLine</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALsetMaxId">setMaxId</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Update the smaxid after you have populated with locals and formals + (unless you constructed those using <a href="Cil.html#VALmakeLocalVar"><code class="code">Cil.makeLocalVar</code></a> or + <a href="Cil.html#VALmakeTempVar"><code class="code">Cil.makeTempVar</code></a>. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALsetTypeAttrs">setTypeAttrs</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALsetTypeSigAttrs">setTypeSigAttrs</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Replace the attributes of a signature (only at top level) +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALshowContext">showContext</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Show the context stack to stderr +</div> +</td></tr> +<tr><td><a href="Clist.html#VALsingle">single</a> [<a href="Clist.html">Clist</a>]</td> +<td><div class="info"> +Create a clist containing one element +</div> +</td></tr> +<tr><td><a href="Cil.html#VALsizeOf">sizeOf</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALsplitFunctionType">splitFunctionType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Given a function type split it into return type, + arguments, is_vararg and attributes. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALsplitFunctionTypeVI">splitFunctionTypeVI</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Pretty.html#VALsprint">sprint</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Format the document to the given width and emit it as a string +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALstartParsing">startParsing</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Errormsg.html#VALstartParsingFromString">startParsingFromString</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Cfg.html#VALstart_id">start_id</a> [<a href="Cfg.html">Cfg</a>]</td> +<td><div class="info"> +Next statement id that will be assigned. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALstartsWith">startsWith</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +sm: return true if the first is a prefix of the second string +</div> +</td></tr> +<tr><td><a href="Dataflow.BackwardsTransfer.html#VALstmtStartData">stmtStartData</a> [<a href="Dataflow.BackwardsTransfer.html">Dataflow.BackwardsTransfer</a>]</td> +<td><div class="info"> +For each block id, the data at the start. +</div> +</td></tr> +<tr><td><a href="Dataflow.ForwardsTransfer.html#VALstmtStartData">stmtStartData</a> [<a href="Dataflow.ForwardsTransfer.html">Dataflow.ForwardsTransfer</a>]</td> +<td><div class="info"> +For each statement id, the data at the start. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALstripCasts">stripCasts</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Removes casts from this expression, but ignores casts within + other expression constructs. +</div> +</td></tr> +<tr><td align="left"><br>T</td></tr> +<tr><td><a href="Formatcil.html#VALtest">test</a> [<a href="Formatcil.html">Formatcil</a>]</td> +<td><div class="info"> +Just a testing function +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALtext">text</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +A document that prints the given string +</div> +</td></tr> +<tr><td><a href="Stats.html#VALtime">time</a> [<a href="Stats.html">Stats</a>]</td> +<td><div class="info"> +Time a function and associate the time with the given string. +</div> +</td></tr> +<tr><td><a href="Stats.html#VALtimethis">timethis</a> [<a href="Stats.html">Stats</a>]</td> +<td></td></tr> +<tr><td><a href="Clist.html#VALtoList">toList</a> [<a href="Clist.html">Clist</a>]</td> +<td><div class="info"> +Convert a clist to an ordinary list +</div> +</td></tr> +<tr><td><a href="Cil.html#VALtypeAddAttributes">typeAddAttributes</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Add some attributes to a type +</div> +</td></tr> +<tr><td><a href="Cil.html#VALtypeAttrs">typeAttrs</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Returns all the attributes contained in a type. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALtypeOf">typeOf</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Compute the type of an expression +</div> +</td></tr> +<tr><td><a href="Cil.html#VALtypeOfLval">typeOfLval</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Compute the type of an lvalue +</div> +</td></tr> +<tr><td><a href="Cil.html#VALtypeOfSizeOf">typeOfSizeOf</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALtypeOffset">typeOffset</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Compute the type of an offset from a base type +</div> +</td></tr> +<tr><td><a href="Cil.html#VALtypeRemoveAttributes">typeRemoveAttributes</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Remove all attributes with the given names from a type. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALtypeSig">typeSig</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Compute a type signature +</div> +</td></tr> +<tr><td><a href="Cil.html#VALtypeSigAttrs">typeSigAttrs</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Get the top-level attributes of a signature +</div> +</td></tr> +<tr><td><a href="Cil.html#VALtypeSigWithAttrs">typeSigWithAttrs</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like <a href="Cil.html#VALtypeSig"><code class="code">Cil.typeSig</code></a> but customize the incorporation of attributes. +</div> +</td></tr> +<tr><td align="left"><br>U</td></tr> +<tr><td><a href="Cil.html#VALuintPtrType">uintPtrType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +unsigned int * +</div> +</td></tr> +<tr><td><a href="Cil.html#VALuintType">uintType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +unsigned int +</div> +</td></tr> +<tr><td><a href="Cil.html#VALulongType">ulongType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +unsigned long +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALunalign">unalign</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Reverts to the last saved indentation level. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALunderscore_name">underscore_name</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Whether the compiler generates assembly labels by prepending "_" to the + identifier. +</div> +</td></tr> +<tr><td><a href="Alpha.html#VALundoAlphaChanges">undoAlphaChanges</a> [<a href="Alpha.html">Alpha</a>]</td> +<td><div class="info"> +Undo the changes to a table +</div> +</td></tr> +<tr><td><a href="Cil.html#VALunimp">unimp</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like <a href="Errormsg.html#VALunimp"><code class="code">Errormsg.unimp</code></a> except that <a href="Cil.html#VALcurrentLoc"><code class="code">Cil.currentLoc</code></a>is also printed +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALunimp">unimp</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Similar to <code class="code">error</code> except that its output has the form <code class="code">Unimplemented: ...</code> +</div> +</td></tr> +<tr><td><a href="Cil.html#VALuniqueVarNames">uniqueVarNames</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Assign unique names to local variables. +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALunmark">unmark</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +The end of a markup section +</div> +</td></tr> +<tr><td><a href="Cil.html#VALunrollType">unrollType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Unroll a type until it exposes a non + <code class="code">TNamed</code>. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALunrollTypeDeep">unrollTypeDeep</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Unroll all the TNamed in a type (even under type constructors such as + <code class="code">TPtr</code>, <code class="code">TFun</code> or <code class="code">TArray</code>. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALupointType">upointType</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALuseLogicalOperators">useLogicalOperators</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Whether to use the logical operands LAnd and LOr. +</div> +</td></tr> +<tr><td align="left"><br>V</td></tr> +<tr><td><a href="Cil.html#VALvar">var</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Makes an lvalue out of a given variable +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALverboseFlag">verboseFlag</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALvisitCilAttributes">visitCilAttributes</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit a list of attributes +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilBlock">visitCilBlock</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit a block +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilExpr">visitCilExpr</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Cil.html#VALvisitCilFile">visitCilFile</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit a file. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilFileSameGlobals">visitCilFileSameGlobals</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +A visitor for the whole file that does not change the globals (but maybe + changes things inside the globals). +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilFunction">visitCilFunction</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit a function definition +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilGlobal">visitCilGlobal</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit a global +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilInit">visitCilInit</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit an initializer +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilInitOffset">visitCilInitOffset</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit an initializer offset +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilInstr">visitCilInstr</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit an instruction +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilLval">visitCilLval</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit an lvalue +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilOffset">visitCilOffset</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit an lvalue or recursive offset +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilStmt">visitCilStmt</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit a statement +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilType">visitCilType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit a type +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvisitCilVarDecl">visitCilVarDecl</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Visit a variable declaration +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvoidPtrType">voidPtrType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +void * +</div> +</td></tr> +<tr><td><a href="Cil.html#VALvoidType">voidType</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +void +</div> +</td></tr> +<tr><td align="left"><br>W</td></tr> +<tr><td><a href="Cil.html#VALwarn">warn</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like <a href="Errormsg.html#VALwarn"><code class="code">Errormsg.warn</code></a> except that <a href="Cil.html#VALcurrentLoc"><code class="code">Cil.currentLoc</code></a> is also printed +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALwarn">warn</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Like <a href="Errormsg.html#VALerror"><code class="code">Errormsg.error</code></a> but does not raise the <a href="Errormsg.html#EXCEPTIONError"><code class="code">Errormsg.Error</code></a> + exception. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALwarnContext">warnContext</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like <a href="Errormsg.html#VALwarn"><code class="code">Errormsg.warn</code></a> except that <a href="Cil.html#VALcurrentLoc"><code class="code">Cil.currentLoc</code></a> and context + is also printed +</div> +</td></tr> +<tr><td><a href="Cil.html#VALwarnContextOpt">warnContextOpt</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like <a href="Errormsg.html#VALwarn"><code class="code">Errormsg.warn</code></a> except that <a href="Cil.html#VALcurrentLoc"><code class="code">Cil.currentLoc</code></a> and context is also + printed. +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALwarnFlag">warnFlag</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Set to true if you want to see all warnings. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALwarnLoc">warnLoc</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like <a href="Cil.html#VALwarn"><code class="code">Cil.warn</code></a> except that it explicitly takes a location argument, + instead of using the <a href="Cil.html#VALcurrentLoc"><code class="code">Cil.currentLoc</code></a> +</div> +</td></tr> +<tr><td><a href="Cil.html#VALwarnOpt">warnOpt</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +Like <a href="Errormsg.html#VALwarnOpt"><code class="code">Errormsg.warnOpt</code></a> except that <a href="Cil.html#VALcurrentLoc"><code class="code">Cil.currentLoc</code></a> is also printed. +</div> +</td></tr> +<tr><td><a href="Errormsg.html#VALwarnOpt">warnOpt</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +Like <a href="Errormsg.html#VALwarn"><code class="code">Errormsg.warn</code></a> but optional. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALwcharKind">wcharKind</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +wchar_t (depends on architecture) and is set when you call + <a href="Cil.html#VALinitCIL"><code class="code">Cil.initCIL</code></a>. +</div> +</td></tr> +<tr><td><a href="Cil.html#VALwcharType">wcharType</a> [<a href="Cil.html">Cil</a>]</td> +<td></td></tr> +<tr><td><a href="Errormsg.html#VALwithContext">withContext</a> [<a href="Errormsg.html">Errormsg</a>]</td> +<td><div class="info"> +To ensure that the context is registered and removed properly, use the + function below +</div> +</td></tr> +<tr><td><a href="Pretty.html#VALwithPrintDepth">withPrintDepth</a> [<a href="Pretty.html">Pretty</a>]</td> +<td><div class="info"> +Invokes a thunk, with printDepth temporarily set to the specified value +</div> +</td></tr> +<tr><td align="left"><br>Z</td></tr> +<tr><td><a href="Cil.html#VALzero">zero</a> [<a href="Cil.html">Cil</a>]</td> +<td><div class="info"> +0 +</div> +</td></tr> +</table><br> +</body> +</html>
\ No newline at end of file |