From 0bb74a28e1318cbac9c895f1079b384a42513a9c Mon Sep 17 00:00:00 2001 From: Andrew MacLeod <amacleod@redhat.com> Date: Thu, 12 Aug 2021 14:02:20 -0400 Subject: [PATCH] Change evrp-mode options. Remove tracing in hybrid mode. Add trace/gori/cache tracing options. tracing options are now 'trace', 'gori', 'cache', or all combined in 'debug' * flag-types.h (enum evrp_mode): Adjust evrp-mode values. * gimple-range-cache.cc (DEBUG_RANGE_CACHE): Relocate from. * gimple-range-trace.h (DEBUG_RANGE_CACHE): Here. * params.opt (--param=evrp-mode): Adjust options. --- gcc/flag-types.h | 11 ++++++----- gcc/gimple-range-cache.cc | 3 +++ gcc/gimple-range-trace.h | 3 --- gcc/params.opt | 11 +++++++---- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/gcc/flag-types.h b/gcc/flag-types.h index e43d1de490df..4fb1cb4743d6 100644 --- a/gcc/flag-types.h +++ b/gcc/flag-types.h @@ -444,14 +444,15 @@ enum parloops_schedule_type /* EVRP mode. */ enum evrp_mode { - EVRP_MODE_EVRP_FIRST = 0, + EVRP_MODE_RVRP_ONLY = 0, EVRP_MODE_EVRP_ONLY = 1, - EVRP_MODE_RVRP_ONLY = 2, + EVRP_MODE_EVRP_FIRST = 2, EVRP_MODE_RVRP_FIRST = 3, EVRP_MODE_TRACE = 4, - EVRP_MODE_DEBUG = 8 | EVRP_MODE_TRACE, - EVRP_MODE_RVRP_TRACE = EVRP_MODE_RVRP_ONLY | EVRP_MODE_TRACE, - EVRP_MODE_RVRP_DEBUG = EVRP_MODE_RVRP_ONLY | EVRP_MODE_DEBUG + EVRP_MODE_CACHE = (8 | EVRP_MODE_TRACE), + EVRP_MODE_GORI = 16, + EVRP_MODE_TRACE_GORI = (EVRP_MODE_TRACE | EVRP_MODE_GORI), + EVRP_MODE_DEBUG = (EVRP_MODE_GORI | EVRP_MODE_CACHE) }; /* Modes of OpenACC 'kernels' constructs handling. */ diff --git a/gcc/gimple-range-cache.cc b/gcc/gimple-range-cache.cc index 91541f12c3c2..4138d0556c67 100644 --- a/gcc/gimple-range-cache.cc +++ b/gcc/gimple-range-cache.cc @@ -30,6 +30,9 @@ along with GCC; see the file COPYING3. If not see #include "gimple-range.h" #include "tree-cfg.h" +#define DEBUG_RANGE_CACHE (dump_file && (param_evrp_mode & EVRP_MODE_CACHE) \ + == EVRP_MODE_CACHE) + // During contructor, allocate the vector of ssa_names. non_null_ref::non_null_ref () diff --git a/gcc/gimple-range-trace.h b/gcc/gimple-range-trace.h index 6f89fcccf4fa..d2d1a8b270c0 100644 --- a/gcc/gimple-range-trace.h +++ b/gcc/gimple-range-trace.h @@ -58,7 +58,4 @@ range_tracer::header (const char *str) return do_header (str); return 0; } - -#define DEBUG_RANGE_CACHE (dump_file && (param_evrp_mode & EVRP_MODE_DEBUG)) - #endif // GCC_GIMPLE_RANGE_TRACE_H diff --git a/gcc/params.opt b/gcc/params.opt index 92b003e38cbb..f9264887b409 100644 --- a/gcc/params.opt +++ b/gcc/params.opt @@ -132,7 +132,7 @@ Maximum number of basic blocks before EVRP uses a sparse cache. -param=evrp-mode= Common Joined Var(param_evrp_mode) Enum(evrp_mode) Init(EVRP_MODE_RVRP_ONLY) Param Optimization ---param=evrp-mode=[legacy|ranger|legacy-first|ranger-first|ranger-trace|ranger-debug|trace|debug] Specifies the mode Early VRP should operate in. +--param=evrp-mode=[legacy|ranger|legacy-first|ranger-first|trace|gori|cache|tracegori|debug] Specifies the mode Early VRP should operate in. Enum Name(evrp_mode) Type(enum evrp_mode) UnknownError(unknown evrp mode %qs) @@ -150,13 +150,16 @@ EnumValue Enum(evrp_mode) String(ranger-first) Value(EVRP_MODE_RVRP_FIRST) EnumValue -Enum(evrp_mode) String(ranger-trace) Value(EVRP_MODE_RVRP_TRACE) +Enum(evrp_mode) String(trace) Value(EVRP_MODE_TRACE) EnumValue -Enum(evrp_mode) String(ranger-debug) Value(EVRP_MODE_RVRP_DEBUG) +Enum(evrp_mode) String(cache) Value(EVRP_MODE_CACHE) EnumValue -Enum(evrp_mode) String(trace) Value(EVRP_MODE_TRACE) +Enum(evrp_mode) String(gori) Value(EVRP_MODE_GORI) + +EnumValue +Enum(evrp_mode) String(tracegori) Value(EVRP_MODE_TRACE_GORI) EnumValue Enum(evrp_mode) String(debug) Value(EVRP_MODE_DEBUG) -- GitLab