projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bugfix
[libfirm]
/
ir
/
ir
/
irvrfy.c
diff --git
a/ir/ir/irvrfy.c
b/ir/ir/irvrfy.c
index
d973700
..
e898a0c
100644
(file)
--- a/
ir/ir/irvrfy.c
+++ b/
ir/ir/irvrfy.c
@@
-16,6
+16,7
@@
# include "irprog.h"
# include "irgraph_t.h"
# include "irprog.h"
# include "irgraph_t.h"
+# include "ircgcons.h"
# include "irvrfy.h"
# include "irgwalk.h"
# include "irdump.h"
# include "irvrfy.h"
# include "irgwalk.h"
# include "irdump.h"
@@
-525,9
+526,13
@@
vrfy_Proj_proj(ir_node *p, ir_graph *irg) {
break;
case iro_EndReg:
break;
case iro_EndReg:
+ ASSERT_AND_RET((get_irp_ip_view_state() != ip_view_no),
+ "EndReg may only appear if ip view is constructed.", 0);
break;
case iro_EndExcept:
break;
case iro_EndExcept:
+ ASSERT_AND_RET((get_irp_ip_view_state() != ip_view_no),
+ "EndExcept may only appear if ip view is constructed.", 0);
break;
default:
break;
default:
@@
-563,6
+568,7
@@
int irn_vrfy_irg(ir_node *n, ir_graph *irg)
"Node is not stored on proper IR graph!", 0,
show_node_on_graph(irg, n);
);
"Node is not stored on proper IR graph!", 0,
show_node_on_graph(irg, n);
);
+ assert(get_irn_irg(n) == irg);
}
opcode = get_irn_opcode(n);
}
opcode = get_irn_opcode(n);
@@
-624,10
+630,13
@@
int irn_vrfy_irg(ir_node *n, ir_graph *irg)
break;
case iro_Break:
break;
case iro_Break:
+ ASSERT_AND_RET((get_irp_ip_view_state() != ip_view_no),
+ "Break may only appear if ip view is constructed.", 0);
ASSERT_AND_RET(
/* Jmp: BB --> X */
ASSERT_AND_RET(
/* Jmp: BB --> X */
- mymode == mode_X, "
Jmp
node", 0
+ mymode == mode_X, "
Break
node", 0
);
);
+
break;
case iro_Cond:
break;
case iro_Cond:
@@
-1021,6
+1030,7
@@
int irn_vrfy_irg(ir_node *n, ir_graph *irg)
);
break;
);
break;
+
case iro_Phi:
{
ir_node *block = get_nodes_block(n);
case iro_Phi:
{
ir_node *block = get_nodes_block(n);
@@
-1046,6
+1056,11
@@
int irn_vrfy_irg(ir_node *n, ir_graph *irg)
ASSERT_AND_RET( mode_is_dataM(mymode), "Phi node", 0 );
break;
}
ASSERT_AND_RET( mode_is_dataM(mymode), "Phi node", 0 );
break;
}
+ case iro_Filter:
+ ASSERT_AND_RET((get_irp_ip_view_state() != ip_view_no),
+ "Filter may only appear if ip view is constructed.", 0);
+ /* We should further do tests as for Proj and Phi. */
+ break;
case iro_Load:
op1mode = get_irn_mode(in[1]);
op2mode = get_irn_mode(in[2]);
case iro_Load:
op1mode = get_irn_mode(in[1]);
op2mode = get_irn_mode(in[2]);