diff mbox series

[COMMITTED,2/3] Change evrp-mode options.

Message ID b37b17fe-db19-fd69-6779-4fc8f25098f5@redhat.com
State New
Headers show
Series [COMMITTED,1/3] Abstract range tracing routines into a class. | expand

Commit Message

Andrew MacLeod Aug. 17, 2021, 11:31 p.m. UTC
This patch alters the options for --param=evrp-mode=.

It removes the option of tracing when in hybrid mode, and adds some 
extra discrimination.

legacy/ranger/legacy-first/ranger-first are unchanged.  the default is 
still 'ranger'

The modifications are:

trace    : enable range tracing in ranger (this is the original trace)
gori     : enable gori tracing (enabled in the final patch)
cache    : separate out cache debugging.. in theory this is what 'debug' 
was before
tracegori: trace and gori enabled
debug    : just trace EVERYTHING! :-)

Bootstrapped on x86_64-pc-linux-gnu  with no regressions. Pushed.

Andrew
diff mbox series

Patch

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 2/3] 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 e43d1de490d..4fb1cb4743d 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 91541f12c3c..4138d0556c6 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 6f89fcccf4f..d2d1a8b270c 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 92b003e38cb..f9264887b40 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)
-- 
2.17.2