* Author:
* Created:
* CVS-ID: $Id$
- * Copyright: (c) 2005 Universit\81ät Karlsruhe
+ * Copyright: (c) 2005 Universität Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
*/
}
/*
- * Transform Sel(Alloc)[method]
- * to SymC[method]
+ * Transform Sel[method] to SymC[method] if possible.
*/
ir_node *transform_node_Sel(ir_node *node)
{
/* If the entity is a leave in the inheritance tree,
we can replace the Sel by a constant. */
- if ((get_irp_phase_state() != phase_building) && (get_entity_n_overwrittenby(ent) == 0)) {
+ if (get_entity_n_overwrittenby(ent) == 0) {
/* In dead code, we might call a leave entity that is a description.
Do not turn the Sel to a SymConst. */
if (get_entity_peculiarity(ent) == peculiarity_description) {
} else {
ir_node *rem_block = get_cur_block();
set_cur_block(get_nodes_block(node));
- new_node = copy_const_value(get_atomic_ent_value(ent));
+ new_node = copy_const_value(get_irn_dbg_info(node), get_atomic_ent_value(ent));
set_cur_block(rem_block);
- DBG_OPT_POLY_ALLOC(node, new_node);
+ DBG_OPT_POLY(node, new_node);
}
return new_node;
rem_block = get_cur_block();
set_cur_block(get_nodes_block(node));
- new_node = copy_const_value(get_atomic_ent_value(called_ent));
+ new_node = copy_const_value(get_irn_dbg_info(node), get_atomic_ent_value(called_ent));
set_cur_block(rem_block);
- DBG_OPT_POLY_ALLOC(node, new_node);
+ DBG_OPT_POLY(node, new_node);
return new_node;
}
* This function returns a node replacing the Proj(Load)[Value].
* If this is actually called in transform_node, we must build
* a tuple, or replace the Projs of the load.
- * Therefore we call this optimization in ldstopt.
+ * Therefore we call this optimization in ldstopt().
*/
ir_node *transform_node_Load(ir_node *n)
{
/* If the entity is a leave in the inheritance tree,
we can replace the Sel by a constant. */
if ((get_irp_phase_state() != phase_building) && (get_entity_n_overwrittenby(ent) == 0)) {
- new_node = copy_const_value(get_atomic_ent_value(ent));
- DBG_OPT_POLY_ALLOC(field_ptr, new_node);
+ new_node = copy_const_value(get_irn_dbg_info(n), get_atomic_ent_value(ent));
+ DBG_OPT_POLY(field_ptr, new_node);
return new_node;
}
/* called_ent may not be description: has no Address/Const to Call! */
assert(get_entity_peculiarity(loaded_ent) != peculiarity_description);
- new_node = copy_const_value(get_atomic_ent_value(loaded_ent));
- DBG_OPT_POLY_ALLOC(field_ptr, new_node);
+ new_node = copy_const_value(get_irn_dbg_info(n), get_atomic_ent_value(loaded_ent));
+ DBG_OPT_POLY(field_ptr, new_node);
return new_node;
}