insert_into_set (TMP_GEN (block), def);
value_insert_into_set (AVAIL_OUT (block), def);
}
+ for (j = 0; j < NUM_USES (STMT_USE_OPS (stmt)); j++)
+ {
+ tree use = USE_OP (STMT_USE_OPS (stmt), j);
+ if (TREE_CODE (use) == SSA_NAME)
+ {
+ lookup_or_add (value_table, use);
+ insert_into_set (TMP_GEN (block), use);
+ value_insert_into_set (AVAIL_OUT (block), use);
+ }
+ }
continue;
}
else if (TREE_CODE (stmt) == RETURN_EXPR
if (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (op0))
continue;
op1 = TREE_OPERAND (stmt, 1);
+ STRIP_USELESS_TYPE_CONVERSION (op1);
if (TREE_CODE_CLASS (TREE_CODE (op1)) == 'c')
{
add (value_table, op0, lookup_or_add (value_table, op1));
insert_into_set (TMP_GEN (block), op0);
value_insert_into_set (AVAIL_OUT (block), op0);
}
- else if (TREE_CODE_CLASS (TREE_CODE (op1)) == '1')
+ else if (TREE_CODE_CLASS (TREE_CODE (op1)) == '1'
+ && !is_gimple_cast (op1))
{
tree uop;
tree val, val1;
lookup_or_add (value_table, def);
insert_into_set (TMP_GEN (block), def);
value_insert_into_set (AVAIL_OUT (block), def);
- value_insert_into_set (AVAIL_OUT (block), op0);
+ if (def != op0)
+ abort ();
+ }
+ for (j = 0; j < NUM_USES (STMT_USE_OPS (stmt)); j++)
+ {
+ tree use = USE_OP (STMT_USE_OPS (stmt), j);
+ if (TREE_CODE (use) == SSA_NAME)
+ {
+ lookup_or_add (value_table, use);
+ insert_into_set (TMP_GEN (block), use);
+ value_insert_into_set (AVAIL_OUT (block), use);
+ }
}
}
}
insert_into_set (TMP_GEN (block), def);
value_insert_into_set (AVAIL_OUT (block), def);
}
+ for (j = 0; j < NUM_USES (STMT_USE_OPS (stmt)); j++)
+ {
+ tree use = USE_OP (STMT_USE_OPS (stmt), j);
+ if (TREE_CODE (use) == SSA_NAME)
+ {
+ lookup_or_add (value_table, use);
+ insert_into_set (TMP_GEN (block), use);
+ value_insert_into_set (AVAIL_OUT (block), use);
+ }
+ }
}
}
}