changing is not creating ;-)
[libfirm] / testprograms / if_example.c
index 2d1f424..b46b6c1 100644 (file)
@@ -1,10 +1,14 @@
-/* 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>
@@ -78,7 +82,7 @@ main(void)
   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));
@@ -92,9 +96,14 @@ main(void)
   /* 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);