3 <!-- This HTML file has been created by texi2html 1.54
4 from suif1.texi on 28 April 1999 -->
6 <TITLE>The SUIF Version
1 Library - Parent Tree Nodes
</TITLE>
7 <link href=
"suif1_28.html" rel=Next
>
8 <link href=
"suif1_26.html" rel=Previous
>
9 <link href=
"suif1_toc.html" rel=ToC
>
13 <p>Go to the
<A HREF=
"suif1_1.html">first
</A>,
<A HREF=
"suif1_26.html">previous
</A>,
<A HREF=
"suif1_28.html">next
</A>,
<A HREF=
"suif1_113.html">last
</A> section,
<A HREF=
"suif1_toc.html">table of contents
</A>.
17 <H3><A NAME=
"SEC27" HREF=
"suif1_toc.html#TOC27">Parent Tree Nodes
</A></H3>
21 Each instruction automatically records the
<CODE>tree_instr
</CODE> node to
22 which it is attached. The
<CODE>parent
</CODE> method retrieves this pointer.
23 In an expression tree, all of the instructions share the same parent
24 <CODE>tree_instr
</CODE> node, so an instruction may not be directly connected
30 The
<CODE>owner
</CODE> method is identical to the
<CODE>parent
</CODE> method except
31 for instructions that are used as operands of
<CODE>tree_for
</CODE> nodes.
32 Those operands are actually attached to dummy copy instructions on lists
33 attached to the
<CODE>tree_for
</CODE> nodes (see section
<A HREF=
"suif1_17.html#SEC17">For Nodes
</A>), but many
34 users will want to treat them as if they are directly attached to the
35 <CODE>tree_for
</CODE> nodes. Thus, for an instruction in a
<CODE>tree_for
</CODE>
36 operand, the
<CODE>owner
</CODE> method will return a pointer to the
37 <CODE>tree_for
</CODE> node instead of returning the actual parent
38 <CODE>tree_instr
</CODE>. This only works if the
<CODE>tree_for
</CODE> operand list
39 contains a single expression (not a flat list); otherwise, the actual
40 <CODE>tree_instr
</CODE> parent is returned.
45 <p>Go to the
<A HREF=
"suif1_1.html">first
</A>,
<A HREF=
"suif1_26.html">previous
</A>,
<A HREF=
"suif1_28.html">next
</A>,
<A HREF=
"suif1_113.html">last
</A> section,
<A HREF=
"suif1_toc.html">table of contents
</A>.