Define __builtin_va_list as a built-in type.
[suif.git] / html / suif1_33.html
blob7c2c2501999d2583d7f9b0bc698fcf9065605073
1 <HTML>
2 <HEAD>
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 - Branch and Jump Instructions</TITLE>
7 <link href="suif1_34.html" rel=Next>
8 <link href="suif1_32.html" rel=Previous>
9 <link href="suif1_toc.html" rel=ToC>
11 </HEAD>
12 <BODY>
13 <p>Go to the <A HREF="suif1_1.html">first</A>, <A HREF="suif1_32.html">previous</A>, <A HREF="suif1_34.html">next</A>, <A HREF="suif1_113.html">last</A> section, <A HREF="suif1_toc.html">table of contents</A>.
14 <P><HR><P>
17 <H2><A NAME="SEC33" HREF="suif1_toc.html#TOC33">Branch and Jump Instructions</A></H2>
18 <P>
19 <A NAME="IDX197"></A>
20 <A NAME="IDX198"></A>
22 </P>
23 <P>
24 <A NAME="IDX199"></A>
25 <A NAME="IDX200"></A>
26 <A NAME="IDX201"></A>
27 <A NAME="IDX202"></A>
28 <A NAME="IDX203"></A>
29 The <CODE>in_bj</CODE> class is used to hold branch and jump instructions.
30 This class includes a field to specify the label symbol at the branch
31 target and an optional source operand that is used for conditional
32 branches. The <CODE>target</CODE> and <CODE>set_target</CODE> methods are used to
33 access the label symbol for the branch target. This label must be
34 defined in the scope where the branch occurs, and it must be within the
35 same procedure. The <CODE>src_op</CODE> and <CODE>set_src_op</CODE> methods access
36 the optional source operand field. The <CODE>dst</CODE> operand is unused for
37 all branch and jump instructions and the result type should always be
38 the SUIF <CODE>void</CODE> type. The branch and jump opcodes are described
39 below:
41 </P>
42 <DL COMPACT>
44 <DT><CODE>jmp</CODE>
45 <DD>
46 Unconditional jump. The source operand is unused. The flow of control
47 is unconditionally transferred to the code at the target label.
49 <DT><CODE>btrue</CODE>
50 <DD>
51 Branch if true. If the source operand, which must have an signed
52 integer type, contains a true (non-zero) value, the flow of control is
53 transferred to the code at the target label. Otherwise, it continues
54 with the next instruction in sequential order.
56 <DT><CODE>bfalse</CODE>
57 <DD>
58 Branch if false. If the source operand contains a false (zero) value,
59 the flow of control is transferred to the code at the target label.
60 Otherwise, it continues with the next instruction in sequential order.
61 The source operand must have an signed integer type.
62 </DL>
64 <P><HR><P>
65 <p>Go to the <A HREF="suif1_1.html">first</A>, <A HREF="suif1_32.html">previous</A>, <A HREF="suif1_34.html">next</A>, <A HREF="suif1_113.html">last</A> section, <A HREF="suif1_toc.html">table of contents</A>.
66 </BODY>
67 </HTML>