implemented irmode mode_P_mach stuff
authorGötz Lindenmaier <goetz@ipd.info.uni-karlsruhe.de>
Thu, 10 Jul 2003 09:25:09 +0000 (09:25 +0000)
committerGötz Lindenmaier <goetz@ipd.info.uni-karlsruhe.de>
Thu, 10 Jul 2003 09:25:09 +0000 (09:25 +0000)
new reference for firmjni: node numbers changed

[r1453]

firmjni/testprograms/run-results.txt
ir/ir/irdump.c
ir/ir/irmode.c
ir/ir/irmode.h

index 4ea6301..7e74bd0 100644 (file)
@@ -7,23 +7,23 @@ use xvcg to view this graph:
 
 Creating an IR graph: IfElseExample...
 Optimization: 2
-new Nodes: 26,
-old Nodes: 27, 25, 26,
+new Nodes: 35,
+old Nodes: 36, 34, 35,
 Optimization: 2
-new Nodes: 10,
-old Nodes: 28, 25, 10,
+new Nodes: 19,
+old Nodes: 37, 34, 19,
 Optimization: 4
-new Nodes: 18,
-old Nodes: 33, 26,
+new Nodes: 27,
+old Nodes: 42, 35,
 Optimization: 1
-new Nodes: 21,
-old Nodes: 48, 21,
+new Nodes: 30,
+old Nodes: 57, 30,
 Optimization: 1
-new Nodes: 19,
-old Nodes: 51, 19,
+new Nodes: 28,
+old Nodes: 60, 28,
 Done building the graph.  Optimizing it.
 Optimization: 4
-new Nodes: 18,
-old Nodes: 33, 26,
+new Nodes: 27,
+old Nodes: 42, 35,
 use xvcg to view this graph:
 /ben/goetz/bin/xvcg GRAPHNAME
index f97bd64..ffe8e36 100644 (file)
@@ -1331,6 +1331,7 @@ static void clear_link(ir_node * node, void * env) {
 }
 
 static void collect_blocks_floats_cg(ir_node * node, pmap * map) {
+  assert(node); assert(map);
   if (is_Block(node)
       || node_floats(node)
       || get_irn_op(node) == op_Bad
@@ -1340,9 +1341,11 @@ static void collect_blocks_floats_cg(ir_node * node, pmap * map) {
     {
       ir_node ** arr;
       arr = entry->value;
+      assert(arr);
       ARR_APP1(ir_node *, arr , node);
     } else {
       ir_node ** arr = NEW_ARR_F(ir_node *, 1);
+      assert(arr);
       arr[0] = node;
       pmap_insert(map, current_ir_graph, arr);
     }
index be59854..c5542dc 100644 (file)
@@ -156,6 +156,7 @@ ir_mode *mode_C;
 ir_mode *mode_U;
 ir_mode *mode_b;
 ir_mode *mode_P;
+ir_mode *mode_P_mach;
 
 /* * *
  * functions defined in irmode.h
@@ -184,6 +185,14 @@ INLINE ir_mode *get_modeBB(void) { ANNOUNCE(); return mode_BB; }
 INLINE ir_mode *get_modeANY(void) { ANNOUNCE(); return mode_ANY; }
 INLINE ir_mode *get_modeBAD(void) { ANNOUNCE(); return mode_BAD; }
 
+
+ir_mode *get_modeP_mach(void)  { ANNOUNCE(); return mode_P_mach; }
+void     set_modeP_mach(ir_mode *p) {
+  ANNOUNCE();
+  assert(mode_is_reference(p));
+  mode_P_mach = p;
+ }
+
 /**
  * Registers a new mode if not defined yet, else returns
  * the "equivalent" one.
index 33f3dde..f4b4073 100644 (file)
@@ -305,7 +305,7 @@ ir_mode *get_modeANY(void);
 ir_mode *get_modeBAD(void);
 
 ir_mode *get_modeP_mach(void);
-ir_mode *set_modeP_mach(ir_mode *p);
+void     set_modeP_mach(ir_mode *p);
 
 /**
    Functions to check, whether a modecode is signed, float, int, num, data,