finish_bc_block (&stmt_list, bc_continue, clab);
if (incr)
{
- if (MAY_HAVE_DEBUG_MARKER_STMTS && incr_locus != UNKNOWN_LOCATION)
+ if (debug_nonbind_markers_p && incr_locus != UNKNOWN_LOCATION)
{
tree d = build0 (DEBUG_BEGIN_STMT, void_type_node);
SET_EXPR_LOCATION (d, expr_loc_or_loc (incr, start_locus));
}
append_to_statement_list (entry, &stmt_list);
- if (MAY_HAVE_DEBUG_MARKER_STMTS && cond_locus != UNKNOWN_LOCATION)
+ if (debug_nonbind_markers_p && cond_locus != UNKNOWN_LOCATION)
{
tree d = build0 (DEBUG_BEGIN_STMT, void_type_node);
SET_EXPR_LOCATION (d, cond_locus);
add_debug_begin_stmt (location_t loc)
{
/* Don't add DEBUG_BEGIN_STMTs outside of functions, see PR84721. */
- if (!MAY_HAVE_DEBUG_MARKER_STMTS || !building_stmt_list_p ())
+ if (!debug_nonbind_markers_p || !building_stmt_list_p ())
return;
tree stmt = build0 (DEBUG_BEGIN_STMT, void_type_node);
timevar_pop (TV_OUT_OF_SSA);
SA.partition_to_pseudo = XCNEWVEC (rtx, SA.map->num_partitions);
- if (MAY_HAVE_DEBUG_BIND_STMTS && flag_tree_ter)
+ if (flag_var_tracking_assignments && flag_tree_ter)
{
gimple_stmt_iterator gsi;
FOR_EACH_BB_FN (bb, cfun)
static void
add_debug_begin_stmt (location_t loc)
{
- if (!MAY_HAVE_DEBUG_MARKER_STMTS)
+ if (!debug_nonbind_markers_p)
return;
if (DECL_DECLARED_CONCEPT_P (current_function_decl))
/* A concept is never expanded normally. */
disabled. The markers make little sense without the variable
binding annotations among them. */
cfun->debug_nonbind_markers = lang_hooks.emits_begin_stmt
- && MAY_HAVE_DEBUG_MARKER_STMTS;
+ && debug_nonbind_markers_p;
}
/* This is like allocate_struct_function, but pushes a new cfun for FNDECL
/* If we had begin stmt markers from e.g. PCH, but this compilation
doesn't want them, lower_stmt will have cleaned them up; we can
now clear the flag that indicates we had them. */
- if (!MAY_HAVE_DEBUG_MARKER_STMTS && cfun->debug_nonbind_markers)
+ if (!debug_nonbind_markers_p && cfun->debug_nonbind_markers)
{
/* This counter needs not be exact, but before lowering it will
most certainly be. */
/* Propagate fallthruness. */
/* If the function (e.g. from PCH) had debug stmts, but they're
disabled for this compilation, remove them. */
- if (!MAY_HAVE_DEBUG_MARKER_STMTS)
+ if (!debug_nonbind_markers_p)
gsi_remove (gsi, true);
else
gsi_next (gsi);
void
backprop::prepare_change (tree var)
{
- if (MAY_HAVE_DEBUG_BIND_STMTS)
+ if (flag_var_tracking_assignments)
insert_debug_temp_for_var_def (NULL, var);
reset_flow_sensitive_info (var);
}
vector to say for debug info that if parameter parm had been passed,
it would have value parm_Y(D). */
tree old_decl = gimple_call_fndecl (stmt);
- if (MAY_HAVE_DEBUG_BIND_STMTS && old_decl && callee_decl)
+ if (flag_var_tracking_assignments && old_decl && callee_decl)
{
vec<tree, va_gc> **debug_args = NULL;
unsigned i = 0;
{
vec<tree, va_gc> **debug_args = NULL;
unsigned i = 0, len = 0;
- if (MAY_HAVE_DEBUG_BIND_STMTS)
+ if (flag_var_tracking_assignments)
{
debug_args = decl_debug_args_lookup (node->decl);
if (debug_args)
gimple *def_temp;
/* This needs to be done even without
- MAY_HAVE_DEBUG_BIND_STMTS, otherwise if it didn't exist
+ flag_var_tracking_assignments, otherwise if it didn't exist
before, we'd end up with different SSA_NAME_VERSIONs
between -g and -g0. */
arg = get_or_create_ssa_default_def (cfun, parm);
- if (!MAY_HAVE_DEBUG_BIND_STMTS || debug_args == NULL)
+ if (!flag_var_tracking_assignments || debug_args == NULL)
continue;
while (i < len && (**debug_args)[i] != DECL_ORIGIN (parm))
{
if (is_gimple_debug (stmt)
&& (gimple_debug_nonbind_marker_p (stmt)
- ? !MAY_HAVE_DEBUG_MARKER_STMTS
- : !MAY_HAVE_DEBUG_BIND_STMTS))
+ ? !debug_nonbind_markers_p
+ : !flag_var_tracking_assignments))
remove = true;
/* In case the linemap overflows locations can be dropped
to zero. Thus do not keep nonsensical inline entry markers
sese_insert_phis_for_liveouts (sese_info_p region, basic_block bb,
edge false_e, edge true_e)
{
- if (MAY_HAVE_DEBUG_BIND_STMTS)
+ if (flag_var_tracking_assignments)
sese_reset_debug_liveouts (region);
unsigned i;
const ssa_use_operand_t *ptr;
unsigned int num = 0;
- if (!MAY_HAVE_DEBUG_BIND_STMTS)
+ if (!flag_var_tracking_assignments)
{
for (ptr = start->next; ptr != start; ptr = ptr->next)
if (USE_STMT (ptr))
latest (earliest we find) label, and moving debug stmts that are
not separated from it by nondebug nonlabel stmts after the
label. */
- if (MAY_HAVE_DEBUG_MARKER_STMTS)
+ if (debug_nonbind_markers_p)
{
gimple_stmt_iterator label = gsi_none ();
gsi_insert_before (&dest_gsi, stmt, GSI_NEW_STMT);
}
/* Other user labels keep around in a form of a debug stmt. */
- else if (!DECL_ARTIFICIAL (label) && MAY_HAVE_DEBUG_BIND_STMTS)
+ else if (!DECL_ARTIFICIAL (label) && flag_var_tracking_assignments)
{
gimple *dbg = gimple_build_debug_bind (label,
integer_zero_node,
}
}
- if (param_body_adjs && MAY_HAVE_DEBUG_BIND_STMTS)
+ if (param_body_adjs && flag_var_tracking_assignments)
{
vec<tree, va_gc> **debug_args = NULL;
unsigned int len = 0;
/* Remove stmts not in the PARTITION bitmap. */
bbs = get_loop_body_in_dom_order (loop);
- if (MAY_HAVE_DEBUG_BIND_STMTS)
+ if (flag_var_tracking_assignments)
for (i = 0; i < loop->num_nodes; i++)
{
basic_block bb = bbs[i];
gcc_checking_assert (!root->grp_scalar_read
&& !root->grp_assignment_read);
sth_created = true;
- if (MAY_HAVE_DEBUG_BIND_STMTS)
+ if (flag_var_tracking_assignments)
{
root->grp_to_be_debug_replaced = 1;
root->replacement_decl = create_access_replacement (root);
/* If this is a store into a variable that is being optimized away,
add a debug bind stmt if possible. */
- if (MAY_HAVE_DEBUG_BIND_STMTS
+ if (flag_var_tracking_assignments
&& gimple_assign_single_p (stmt)
&& is_gimple_val (gimple_assign_rhs1 (stmt)))
{
tree def = info->iv->ssa_name;
- if (MAY_HAVE_DEBUG_BIND_STMTS && SSA_NAME_DEF_STMT (def))
+ if (flag_var_tracking_assignments && SSA_NAME_DEF_STMT (def))
{
imm_use_iterator imm_iter;
use_operand_p use_p;
}
update_stmt (use_stmt);
- if (MAY_HAVE_DEBUG_BIND_STMTS)
+ if (flag_var_tracking_assignments)
{
use_operand_p use_p;
imm_use_iterator iter;
{
gimple *stmt = gsi_stmt (*gsi);
- if (!MAY_HAVE_DEBUG_BIND_STMTS || gimple_code (stmt) == GIMPLE_PHI)
+ if (!flag_var_tracking_assignments || gimple_code (stmt) == GIMPLE_PHI)
return gsi_remove (gsi, true);
gimple_stmt_iterator prev = *gsi;
if (nr_bbs_removed_total > 0)
{
- if (MAY_HAVE_DEBUG_BIND_STMTS)
+ if (flag_var_tracking_assignments)
{
calculate_dominance_info (CDI_DOMINATORS);
update_debug_stmts ();
void
propagate_threaded_block_debug_into (basic_block dest, basic_block src)
{
- if (!MAY_HAVE_DEBUG_BIND_STMTS)
+ if (!flag_var_tracking_assignments)
return;
if (!single_pred_p (dest))
void
gimple_replace_ssa_lhs (gimple *stmt, tree nlhs)
{
- if (MAY_HAVE_DEBUG_BIND_STMTS)
+ if (flag_var_tracking_assignments)
{
tree lhs = gimple_get_lhs (stmt);
tree
target_for_debug_bind (tree var)
{
- if (!MAY_HAVE_DEBUG_BIND_STMTS)
+ if (!flag_var_tracking_assignments)
return NULL_TREE;
if (TREE_CODE (var) == SSA_NAME)
int usecount = 0;
tree value = NULL;
- if (!MAY_HAVE_DEBUG_BIND_STMTS)
+ if (!flag_var_tracking_assignments)
return;
/* If this name has already been registered for replacement, do nothing
ssa_op_iter op_iter;
def_operand_p def_p;
- if (!MAY_HAVE_DEBUG_BIND_STMTS)
+ if (!flag_var_tracking_assignments)
return;
stmt = gsi_stmt (*gsi);
imm_use_iterator imm_iter;
gimple *use_stmt;
- if (!MAY_HAVE_DEBUG_BIND_STMTS)
+ if (!flag_var_tracking_assignments)
return;
FOR_EACH_PHI_OR_STMT_DEF (def_p, stmt, op_iter, SSA_OP_DEF)
int saved_ssa_name_version = SSA_NAME_VERSION (var);
use_operand_p imm = &(SSA_NAME_IMM_USE_NODE (var));
- if (MAY_HAVE_DEBUG_BIND_STMTS)
+ if (flag_var_tracking_assignments)
insert_debug_temp_for_var_def (NULL, var);
if (flag_checking)
static void
adjust_vec_debug_stmts (void)
{
- if (!MAY_HAVE_DEBUG_BIND_STMTS)
+ if (!flag_var_tracking_assignments)
return;
gcc_assert (adjust_vec.exists ());
{
adjust_info ai;
- if (MAY_HAVE_DEBUG_BIND_STMTS
+ if (flag_var_tracking_assignments
&& TREE_CODE (from) == SSA_NAME
&& ! SSA_NAME_IS_DEFAULT_DEF (from)
&& ! virtual_operand_p (from))
SET_PHI_ARG_DEF (update_phi, e->dest_idx, new_def);
- if (MAY_HAVE_DEBUG_BIND_STMTS)
+ if (flag_var_tracking_assignments)
adjust_debug_stmts (orig_def, PHI_RESULT (update_phi),
gimple_bb (update_phi));
}
vop_to_rename = create_lcssa_for_virtual_phi (orig_loop);
}
- if (MAY_HAVE_DEBUG_BIND_STMTS)
+ if (flag_var_tracking_assignments)
{
gcc_assert (!adjust_vec.exists ());
adjust_vec.create (32);
dump_printf_loc (MSG_NOTE, vect_location,
"------>vectorizing statement: %G", stmt_info->stmt);
- if (MAY_HAVE_DEBUG_BIND_STMTS && !STMT_VINFO_LIVE_P (stmt_info))
+ if (flag_var_tracking_assignments && !STMT_VINFO_LIVE_P (stmt_info))
vect_loop_kill_debug_uses (loop, stmt_info);
if (!STMT_VINFO_RELEVANT_P (stmt_info)
if (!stmt_info)
continue;
- if (MAY_HAVE_DEBUG_BIND_STMTS && !STMT_VINFO_LIVE_P (stmt_info))
+ if (flag_var_tracking_assignments && !STMT_VINFO_LIVE_P (stmt_info))
vect_loop_kill_debug_uses (loop, stmt_info);
if (!STMT_VINFO_RELEVANT_P (stmt_info)
#define VL_EXP_OPERAND_LENGTH(NODE) \
((int)TREE_INT_CST_LOW (VL_EXP_CHECK (NODE)->exp.operands[0]))
-/* Nonzero if gimple_debug_nonbind_marker_p() may possibly hold. */
-#define MAY_HAVE_DEBUG_MARKER_STMTS debug_nonbind_markers_p
-/* Nonzero if gimple_debug_bind_p() (and thus
- gimple_debug_source_bind_p()) may possibly hold. */
-#define MAY_HAVE_DEBUG_BIND_STMTS flag_var_tracking_assignments
/* Nonzero if is_gimple_debug() may possibly hold. */
#define MAY_HAVE_DEBUG_STMTS \
- (MAY_HAVE_DEBUG_MARKER_STMTS || MAY_HAVE_DEBUG_BIND_STMTS)
+ (debug_nonbind_markers_p || flag_var_tracking_assignments)
/* In a LOOP_EXPR node. */
#define LOOP_EXPR_BODY(NODE) TREE_OPERAND_CHECK_CODE (NODE, LOOP_EXPR, 0)