group High-Level exception nodes together
[libfirm] / ir / ir / ircons.c
index 99e888d..fb560ad 100644 (file)
@@ -639,21 +639,6 @@ new_bd_Return (dbg_info *db, ir_node *block,
   return res;
 }
 
-static ir_node *
-new_bd_Raise (dbg_info *db, ir_node *block, ir_node *store, ir_node *obj)
-{
-  ir_node  *in[2];
-  ir_node  *res;
-  ir_graph *irg = current_ir_graph;
-
-  in[0] = store;
-  in[1] = obj;
-  res = new_ir_node(db, irg, block, op_Raise, mode_T, 2, in);
-  res = optimize_node(res);
-  IRN_VRFY_IRG(res, irg);
-  return res;
-}
-
 static ir_node *
 new_bd_Load (dbg_info *db, ir_node *block,
         ir_node *store, ir_node *adr, ir_mode *mode)
@@ -756,28 +741,6 @@ new_bd_Sel (dbg_info *db, ir_node *block, ir_node *store, ir_node *objptr,
   return res;
 }
 
-static ir_node *
-new_bd_InstOf (dbg_info *db, ir_node *block, ir_node *store,
-           ir_node *objptr, ir_type *ent)
-{
-  ir_node  **r_in;
-  ir_node  *res;
-  int      r_arity;
-  ir_graph *irg = current_ir_graph;
-
-  r_arity = 2;
-  NEW_ARR_A(ir_node *, r_in, r_arity);
-  r_in[0] = store;
-  r_in[1] = objptr;
-
-  res = new_ir_node(db, irg, block, op_Sel, mode_T, r_arity, r_in);
-  res->attr.io.ent = ent;
-
-  /* res = optimize(res); */
-  IRN_VRFY_IRG(res, irg);
-  return res;
-}
-
 static ir_node *
 new_bd_SymConst_type (dbg_info *db, ir_node *block, symconst_symbol value,
               symconst_kind symkind, ir_type *tp) {
@@ -964,6 +927,38 @@ new_bd_CopyB  (dbg_info *db, ir_node *block,
   return res;
 }
 
+static ir_node *
+new_bd_InstOf (dbg_info *db, ir_node *block, ir_node *store,
+           ir_node *objptr, ir_type *type)
+{
+  ir_node  *in[2];
+  ir_node  *res;
+  ir_graph *irg = current_ir_graph;
+
+  in[0] = store;
+  in[1] = objptr;
+  res = new_ir_node(db, irg, block, op_Sel, mode_T, 2, in);
+  res->attr.io.type = type;
+  res = optimize_node(res);
+  IRN_VRFY_IRG(res, irg);
+  return res;
+}
+
+static ir_node *
+new_bd_Raise (dbg_info *db, ir_node *block, ir_node *store, ir_node *obj)
+{
+  ir_node  *in[2];
+  ir_node  *res;
+  ir_graph *irg = current_ir_graph;
+
+  in[0] = store;
+  in[1] = obj;
+  res = new_ir_node(db, irg, block, op_Raise, mode_T, 2, in);
+  res = optimize_node(res);
+  IRN_VRFY_IRG(res, irg);
+  return res;
+}
+
 static ir_node *
 new_bd_Bound (dbg_info *db, ir_node *block,
     ir_node *store, ir_node *idx, ir_node *lower, ir_node *upper)
@@ -976,9 +971,7 @@ new_bd_Bound (dbg_info *db, ir_node *block,
   in[1] = idx;
   in[2] = lower;
   in[3] = upper;
-
   res = new_ir_node(db, irg, block, op_Bound, mode_T, 4, in);
-
   res->attr.copyb.exc.pin_state = op_pin_state_pinned;
   res = optimize_node(res);
   IRN_VRFY_IRG(res, irg);
@@ -1477,19 +1470,6 @@ new_rd_Return (dbg_info *db, ir_graph *irg, ir_node *block,
   return res;
 }
 
-ir_node *
-new_rd_Raise (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store, ir_node *obj)
-{
-  ir_node  *res;
-  ir_graph *rem = current_ir_graph;
-
-  current_ir_graph = irg;
-  res = new_bd_Raise(db, block, store, obj);
-  current_ir_graph = rem;
-
-  return res;
-}
-
 ir_node *
 new_rd_Load (dbg_info *db, ir_graph *irg, ir_node *block,
         ir_node *store, ir_node *adr, ir_mode *mode)
@@ -1574,20 +1554,6 @@ new_rd_Sel (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store, ir_node
   return res;
 }
 
-ir_node *
-new_rd_InstOf (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store,
-           ir_node *objptr, ir_type *ent)
-{
-  ir_node  *res;
-  ir_graph *rem = current_ir_graph;
-
-  current_ir_graph = irg;
-  res = new_bd_InstOf(db, block, store, objptr, ent);
-  current_ir_graph = rem;
-
-  return res;
-}
-
 ir_node *
 new_rd_SymConst_type (dbg_info *db, ir_graph *irg, ir_node *block, symconst_symbol value,
               symconst_kind symkind, ir_type *tp)
@@ -1771,6 +1737,33 @@ ir_node *new_rd_CopyB(dbg_info *db, ir_graph *irg, ir_node *block,
   return res;
 }
 
+ir_node *
+new_rd_InstOf (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store,
+           ir_node *objptr, ir_type *type)
+{
+  ir_node  *res;
+  ir_graph *rem = current_ir_graph;
+
+  current_ir_graph = irg;
+  res = new_bd_InstOf(db, block, store, objptr, type);
+  current_ir_graph = rem;
+
+  return res;
+}
+
+ir_node *
+new_rd_Raise (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store, ir_node *obj)
+{
+  ir_node  *res;
+  ir_graph *rem = current_ir_graph;
+
+  current_ir_graph = irg;
+  res = new_bd_Raise(db, block, store, obj);
+  current_ir_graph = rem;
+
+  return res;
+}
+
 ir_node *new_rd_Bound(dbg_info *db, ir_graph *irg, ir_node *block,
     ir_node *store, ir_node *idx, ir_node *lower, ir_node *upper)
 {
@@ -1806,10 +1799,6 @@ ir_node *new_r_Return (ir_graph *irg, ir_node *block,
                ir_node *store, int arity, ir_node **in) {
   return new_rd_Return(NULL, irg, block, store, arity, in);
 }
-ir_node *new_r_Raise  (ir_graph *irg, ir_node *block,
-               ir_node *store, ir_node *obj) {
-  return new_rd_Raise(NULL, irg, block, store, obj);
-}
 ir_node *new_r_Const  (ir_graph *irg, ir_node *block,
                ir_mode *mode, tarval *con) {
   return new_rd_Const(NULL, irg, block, mode, con);
@@ -1834,10 +1823,6 @@ ir_node *new_r_Sel    (ir_graph *irg, ir_node *block, ir_node *store,
                   entity *ent) {
   return new_rd_Sel(NULL, irg, block, store, objptr, n_index, index, ent);
 }
-ir_node *new_r_InstOf (ir_graph *irg, ir_node *block, ir_node *store, ir_node *objptr,
-                  ir_type *ent) {
-  return (new_rd_InstOf (NULL, irg, block, store, objptr, ent));
-}
 ir_node *new_r_Call   (ir_graph *irg, ir_node *block, ir_node *store,
                   ir_node *callee, int arity, ir_node **in,
                   ir_type *tp) {
@@ -1997,6 +1982,14 @@ ir_node *new_r_CopyB(ir_graph *irg, ir_node *block,
     ir_node *store, ir_node *dst, ir_node *src, ir_type *data_type) {
   return new_rd_CopyB(NULL, irg, block, store, dst, src, data_type);
 }
+ir_node *new_r_InstOf (ir_graph *irg, ir_node *block, ir_node *store, ir_node *objptr,
+                  ir_type *type) {
+  return (new_rd_InstOf (NULL, irg, block, store, objptr, type));
+}
+ir_node *new_r_Raise  (ir_graph *irg, ir_node *block,
+               ir_node *store, ir_node *obj) {
+  return new_rd_Raise(NULL, irg, block, store, obj);
+}
 ir_node *new_r_Bound(ir_graph *irg, ir_node *block,
     ir_node *store, ir_node *idx, ir_node *lower, ir_node *upper) {
   return new_rd_Bound(NULL, irg, block, store, idx, lower, upper);
@@ -3169,13 +3162,6 @@ new_d_Return (dbg_info *db, ir_node* store, int arity, ir_node **in)
                store, arity, in);
 }
 
-ir_node *
-new_d_Raise (dbg_info *db, ir_node *store, ir_node *obj)
-{
-  return new_bd_Raise (db, current_ir_graph->current_block,
-              store, obj);
-}
-
 ir_node *
 new_d_Load (dbg_info *db, ir_node *store, ir_node *addr, ir_mode *mode)
 {
@@ -3240,13 +3226,6 @@ new_d_Sel (dbg_info *db, ir_node *store, ir_node *objptr, int n_index, ir_node *
             store, objptr, n_index, index, sel);
 }
 
-ir_node *
-new_d_InstOf (dbg_info *db, ir_node *store, ir_node *objptr, ir_type *ent)
-{
-  return (new_bd_InstOf (db, current_ir_graph->current_block,
-                         store, objptr, ent));
-}
-
 ir_node *
 new_d_SymConst_type (dbg_info *db, symconst_symbol value, symconst_kind kind, ir_type *tp)
 {
@@ -3348,6 +3327,20 @@ ir_node *new_d_CopyB(dbg_info *db,ir_node *store,
   return res;
 }
 
+ir_node *
+new_d_InstOf (dbg_info *db, ir_node *store, ir_node *objptr, ir_type *type)
+{
+  return new_bd_InstOf (db, current_ir_graph->current_block,
+                        store, objptr, type);
+}
+
+ir_node *
+new_d_Raise (dbg_info *db, ir_node *store, ir_node *obj)
+{
+  return new_bd_Raise (db, current_ir_graph->current_block,
+              store, obj);
+}
+
 ir_node *new_d_Bound(dbg_info *db,ir_node *store,
     ir_node *idx, ir_node *lower, ir_node *upper) {
   ir_node *res;
@@ -3532,9 +3525,6 @@ ir_node *new_Cond   (ir_node *c) {
 ir_node *new_Return (ir_node *store, int arity, ir_node *in[]) {
   return new_d_Return(NULL, store, arity, in);
 }
-ir_node *new_Raise  (ir_node *store, ir_node *obj) {
-  return new_d_Raise(NULL, store, obj);
-}
 ir_node *new_Const  (ir_mode *mode, tarval *con) {
   return new_d_Const(NULL, mode, con);
 }
@@ -3558,9 +3548,6 @@ ir_node *new_Sel    (ir_node *store, ir_node *objptr, int arity, ir_node **in,
                      entity *ent) {
   return new_d_Sel(NULL, store, objptr, arity, in, ent);
 }
-ir_node *new_InstOf (ir_node *store, ir_node *objptr, ir_type *ent) {
-  return new_d_InstOf (NULL, store, objptr, ent);
-}
 ir_node *new_Call   (ir_node *store, ir_node *callee, int arity, ir_node **in,
              ir_type *tp) {
   return new_d_Call(NULL, store, callee, arity, in, tp);
@@ -3690,6 +3677,12 @@ ir_node *new_Mux (ir_node *sel, ir_node *ir_false, ir_node *ir_true, ir_mode *mo
 ir_node *new_CopyB(ir_node *store, ir_node *dst, ir_node *src, ir_type *data_type) {
   return new_d_CopyB(NULL, store, dst, src, data_type);
 }
+ir_node *new_InstOf (ir_node *store, ir_node *objptr, ir_type *ent) {
+  return new_d_InstOf (NULL, store, objptr, ent);
+}
+ir_node *new_Raise  (ir_node *store, ir_node *obj) {
+  return new_d_Raise(NULL, store, obj);
+}
 ir_node *new_Bound(ir_node *store, ir_node *idx, ir_node *lower, ir_node *upper) {
   return new_d_Bound(NULL, store, idx, lower, upper);
 }