-/* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
-* All rights reserved.
-*
-* Authors: Christian Schaefer, Goetz Lindenmaier
-*
-* testprogram.
-*/
+/*
+ * Project: libFIRM
+ * File name: testprograms/if_example.c
+ * Purpose: Shows construction of if.
+ * Author: Christian Schaefer, Goetz Lindenmaier
+ * Modified by:
+ * Created:
+ * CVS-ID: $Id$
+ * Copyright: (c) 1999-2003 Universität Karlsruhe
+ * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
+ */
# include <stdio.h>
# include <string.h>
printf("\nCreating an IR graph: IF_EXAMPLE...\n");
- init_firm ();
+ init_firm (NULL);
#define CLASSNAME "IF_EXAMPLE"
#define METHODNAME "IF_EXAMPLE_main"
set_value (a_pos, new_Proj (get_irg_args(irg), mode_Is, 0));
/* Generate the constant and assign it to b. The assignment is resovled to a
dataflow edge. */
- set_value (b_pos, new_Const (mode_Is, tarval_from_long (mode_Is, 2)));
+ set_value (b_pos, new_Const (mode_Is, new_tarval_from_long (2, mode_Is)));
/* We know all predecessors of the block and all set_values and set_stores are
preformed. We can mature the block. */
mature_block (get_irg_current_block(irg));
/* generate and fill the then block */
r = new_immBlock ();
add_in_edge (r, t);
- a = new_Sub(get_value(a_pos, mode_Is),
- new_Const (mode_Is, tarval_from_long (mode_Is, 3)),
+ {
+ ir_node *b,*c;
+ c = new_Const (mode_Is, new_tarval_from_long (3, mode_Is));
+ b = get_value(a_pos, mode_Is);
+ a = new_Sub(b,
+ c,
mode_Is);
+ }
set_value (a_pos, a);
mature_block (r);