* @author Christian Schaefer, Goetz Lindenmaier, Till Riedel, Michael Beck
* @version $Id$
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include "config.h"
#include "irprog.h"
#include "irop_t.h"
return get_mode_name(mode);
}
-/** the last IRG, on which a verify error was found */
+/** the last IRG, on which a verification error was found */
static ir_graph *last_irg_error = NULL;
/**
* print the name of the entity of an verification failure
+ *
+ * @param node the node caused the failure
*/
static void show_entity_failure(ir_node *node) {
ir_graph *irg = get_irn_irg(node);
* @param ptr the node representing the address
*/
static ir_entity *get_ptr_entity(ir_node *ptr) {
- if (get_irn_op(ptr) == op_Sel) {
+ if (is_Sel(ptr)) {
return get_Sel_entity(ptr);
} else if (is_SymConst_addr_ent(ptr)) {
return get_SymConst_entity(ptr);
(proj == pn_Start_M && mode == mode_M) ||
(proj == pn_Start_P_frame_base && mode_is_reference(mode)) ||
(proj == pn_Start_P_tls && mode_is_reference(mode)) ||
- (proj == pn_Start_T_args && mode == mode_T) ||
- (proj == pn_Start_P_value_arg_base && mode_is_reference(mode)) ||
- (proj == pn_Start_P_value_arg_base && mode == mode_T) /* FIXME: only one of those */
+ (proj == pn_Start_T_args && mode == mode_T)
),
"wrong Proj from Start", 0,
show_proj_failure(p);
/* if we have exception flow, we must have a real Memory input */
if (proj == pn_Call_X_regular)
ASSERT_AND_RET(
- get_irn_op(get_Call_mem(n)) != op_NoMem,
+ !is_NoMem(get_Call_mem(n)),
"Regular Proj from FunctionCall", 0);
else if (proj == pn_Call_X_except)
ASSERT_AND_RET(
- get_irn_op(get_Call_mem(n)) != op_NoMem,
+ !is_NoMem(get_Call_mem(n)),
"Exception Proj from FunctionCall", 0);
else if (proj == pn_Call_M_regular || proj == pn_Call_M_except)
ASSERT_AND_RET(
- (get_irn_op(get_Call_mem(n)) != op_NoMem || 1),
+ (!is_NoMem(get_Call_mem(n)) || 1),
"Memory Proj from FunctionCall", 0);
return 1;
}
show_proj_mode_failure(p, get_method_param_type(mt, proj));
);
}
- } else if (nr == pn_Start_P_value_arg_base) {
- ASSERT_AND_RET(
- (proj >= 0 && mode_is_reference(mode)),
- "wrong Proj from Proj from Start", 0
- );
- ASSERT_AND_RET(
- (proj < get_method_n_params(mt)),
- "More Projs for args than args in type", 0
- );
}
break;
}
/* Phi: BB x dataM^n --> dataM */
- for (i = get_irn_arity(n) - 1; i >= 0; --i) {
- ir_node *pred = get_irn_n(n, i);
- if (!is_Bad(pred) && (get_irn_op(pred) != op_Unknown)) {
+ for (i = get_Phi_n_preds(n) - 1; i >= 0; --i) {
+ ir_node *pred = get_Phi_pred(n, i);
+ if (!is_Bad(pred)) {
ASSERT_AND_RET_DBG(
get_irn_mode(pred) == mymode,
"Phi node", 0,
ASSERT_AND_RET(op1mode == mode_M, "Load node", 0);
if (get_irg_phase_state(irg) != phase_backend) {
ASSERT_AND_RET(mode_is_reference(op2mode), "Load node", 0 );
- } else {
- ASSERT_AND_RET(mode_is_reference(op2mode) ||
- (mode_is_int(op2mode) && get_mode_size_bits(op2mode) == get_mode_size_bits(mode_P)), "Load node", 0 );
}
ASSERT_AND_RET( mymode == mode_T, "Load node", 0 );
ASSERT_AND_RET(op1mode == mode_M && mode_is_datab(op3mode), "Store node", 0 );
if (get_irg_phase_state(irg) != phase_backend) {
ASSERT_AND_RET(mode_is_reference(op2mode), "Store node", 0 );
- } else {
- ASSERT_AND_RET(mode_is_reference(op2mode) ||
- (mode_is_int(op2mode) && get_mode_size_bits(op2mode) == get_mode_size_bits(mode_P)), "Store node", 0 );
}
ASSERT_AND_RET(mymode == mode_T, "Store node", 0);
if (get_irg_phase_state(irg) != phase_backend) {
ASSERT_AND_RET(mode_is_reference(op2mode) && mode_is_reference(op3mode),
"CopyB node", 0 );
- } else {
- ASSERT_AND_RET(mode_is_reference(op2mode) ||
- (mode_is_int(op2mode) && get_mode_size_bits(op2mode) == get_mode_size_bits(mode_P)), "CopyB node", 0 );
- ASSERT_AND_RET(mode_is_reference(op3mode) ||
- (mode_is_int(op3mode) && get_mode_size_bits(op3mode) == get_mode_size_bits(mode_P)), "CopyB node", 0 );
}
ASSERT_AND_RET(
{
unsigned idx = get_irn_idx(n);
ir_node *node_from_map = get_idx_irn(irg, idx);
- ASSERT_AND_RET_DBG(node_from_map == n, "Node index and index map entry differ", 0, ir_printf("node %+F node in map %+F(%p)", n, node_from_map, node_from_map));
+ ASSERT_AND_RET_DBG(node_from_map == n, "Node index and index map entry differ", 0,
+ ir_printf("node %+F node in map %+F(%p)\n", n, node_from_map, node_from_map));
}
}
}
if ((venv->flags & TUPLE) == 0) {
- if (get_irn_op(node) == op_Tuple) {
+ if (is_Tuple(node)) {
venv->res |= TUPLE;
if (get_node_verification_mode() == FIRM_VERIFICATION_REPORT) {