From 0a9d9b9ca6db84df665a902e59c8cdd875064c3f Mon Sep 17 00:00:00 2001 From: rakdver Date: Thu, 26 Jun 2003 07:52:10 +0000 Subject: * value-prof.c: New. * value-prof.h: New. * Makefile.in (value-prof.o): New. (LIBGCOV): Add _gcov_merge_single and _gcov_merge_delta (profile.o): Add value-prof.h and tree.h dependency. * flags.h (flag_profile_values): Declare. * gcov-io.h (GCOV_COUNTERS, GCOV_COUNTER_NAMES, GCOV_MERGE_FUNCTIONS): Add new counters. (GCOV_COUNTER_V_INTERVAL, GCOV_COUNTER_V_POW2, GCOV_COUNTER_V_SINGLE, GCOV_COUNTER_V_DELTA): New counter sections. (__gcov_merge_single, __gcov_merge_delta): Declare. * flow.c (mark_used_regs): Set subregs_of_mode only when the structure is initialized. * libgcov.c (__gcov_merge_single, __gcov_merge_delta): New functions. * profile.c: Include value-prof.h and tree.h. (gen_interval_profiler, gen_pow2_profiler, gen_one_value_profiler, gen_const_delta_profiler, instrument_values): New static functions. (get_exec_counts): Fix comment. (branch_prob): Invoke instrument_values. * toplev.c (flag_profile_values): New flag. * doc/invoke.texi (-fprofile-values): Document. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68519 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/flow.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gcc/flow.c') diff --git a/gcc/flow.c b/gcc/flow.c index 6949bebcf17..b08a6e8e331 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -3842,7 +3842,8 @@ mark_used_regs (pbi, x, cond, insn) case SUBREG: #ifdef CANNOT_CHANGE_MODE_CLASS - if (GET_CODE (SUBREG_REG (x)) == REG + if ((flags & PROP_REG_INFO) + && GET_CODE (SUBREG_REG (x)) == REG && REGNO (SUBREG_REG (x)) >= FIRST_PSEUDO_REGISTER) bitmap_set_bit (&subregs_of_mode, REGNO (SUBREG_REG (x)) * MAX_MACHINE_MODE @@ -3891,7 +3892,8 @@ mark_used_regs (pbi, x, cond, insn) || GET_CODE (testreg) == SUBREG) { #ifdef CANNOT_CHANGE_MODE_CLASS - if (GET_CODE (testreg) == SUBREG + if ((flags & PROP_REG_INFO) + && GET_CODE (testreg) == SUBREG && GET_CODE (SUBREG_REG (testreg)) == REG && REGNO (SUBREG_REG (testreg)) >= FIRST_PSEUDO_REGISTER) bitmap_set_bit (&subregs_of_mode, REGNO (SUBREG_REG (testreg)) -- cgit v1.2.1