aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2010-11-24 13:28:38 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2010-11-24 13:28:38 +0000
commit7cd23050596840cc1e81b43a9a57134f810678ac (patch)
tree69c80cd877029c3116187ce4f501ceb7c5aeac54 /gcc
parent46cb1e5254dcc2f97d5fae2033ab3d92e8591bac (diff)
downloadgcc-7cd23050596840cc1e81b43a9a57134f810678ac.zip
gcc-7cd23050596840cc1e81b43a9a57134f810678ac.tar.gz
gcc-7cd23050596840cc1e81b43a9a57134f810678ac.tar.bz2
common.opt (user_vect_verbosity_level): New Variable entry.
* common.opt (user_vect_verbosity_level): New Variable entry. (ftree-vectorizer-verbose=): Mark as UInteger. * flag-types.h (enum vect_verbosity_levels): Move from enum verbosity_levels in tree-vectorizer.h. * opts.c: Don't include tree.h. (vect_set_verbosity_level): Move from tree-vectorizer.c. Use gcc_options parameter; take integer option argument. (common_handle_option): Update call to vect_set_verbosity_level. * tree-vectorizer.c (user_vect_verbosity_level): Remove. (vect_set_verbosity_level): Move to opts.c. (vect_verbosity_level, vect_print_dump_info): Update for change of enum name. * tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h. (vect_print_dump_info): Update for change of enum name. * tree.h (vect_set_verbosity_level): Remove. * Makefile.in (opts.o): Update dependencies. From-SVN: r167113
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog19
-rw-r--r--gcc/Makefile.in2
-rw-r--r--gcc/common.opt5
-rw-r--r--gcc/flag-types.h16
-rw-r--r--gcc/opts.c16
-rw-r--r--gcc/tree-vectorizer.c24
-rw-r--r--gcc/tree-vectorizer.h18
-rw-r--r--gcc/tree.h3
8 files changed, 57 insertions, 46 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3c85e02..5b63be3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,22 @@
+2010-11-24 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (user_vect_verbosity_level): New Variable entry.
+ (ftree-vectorizer-verbose=): Mark as UInteger.
+ * flag-types.h (enum vect_verbosity_levels): Move from enum
+ verbosity_levels in tree-vectorizer.h.
+ * opts.c: Don't include tree.h.
+ (vect_set_verbosity_level): Move from tree-vectorizer.c. Use
+ gcc_options parameter; take integer option argument.
+ (common_handle_option): Update call to vect_set_verbosity_level.
+ * tree-vectorizer.c (user_vect_verbosity_level): Remove.
+ (vect_set_verbosity_level): Move to opts.c.
+ (vect_verbosity_level, vect_print_dump_info): Update for change of
+ enum name.
+ * tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h.
+ (vect_print_dump_info): Update for change of enum name.
+ * tree.h (vect_set_verbosity_level): Remove.
+ * Makefile.in (opts.o): Update dependencies.
+
2010-11-24 Jakub Jelinek <jakub@redhat.com>
PR middle-end/46629
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index bf562fa..3a86343 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -2824,7 +2824,7 @@ fold-const.o : fold-const.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
diagnostic.o : diagnostic.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
version.h $(INPUT_H) intl.h $(DIAGNOSTIC_H) diagnostic.def
opts.o : opts.c $(OPTS_H) $(OPTIONS_H) $(DIAGNOSTIC_CORE_H) $(CONFIG_H) $(SYSTEM_H) \
- coretypes.h $(TREE_H) $(TM_H) $(RTL_H) \
+ coretypes.h $(TM_H) $(RTL_H) \
$(DIAGNOSTIC_H) $(INSN_ATTR_H) intl.h $(TARGET_H) \
$(FLAGS_H) $(PARAMS_H) opts-diagnostic.h
opts-global.o : opts-global.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
diff --git a/gcc/common.opt b/gcc/common.opt
index e46a277..f4523db 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -152,6 +152,9 @@ bool use_gnu_debug_info_extensions
Variable
unsigned int initial_max_fld_align = TARGET_DEFAULT_PACK_STRUCT
+Variable
+enum vect_verbosity_levels user_vect_verbosity_level = MAX_VERBOSITY_LEVEL
+
; -dA causes debug commentary information to be produced in
; the generated assembly code (to make it more readable). This option
; is generally only of use to those who actually need to read the
@@ -1952,7 +1955,7 @@ Common Report Var(flag_tree_vect_loop_version) Init(1) Optimization
Enable loop versioning when doing loop vectorization on trees
ftree-vectorizer-verbose=
-Common RejectNegative Joined
+Common RejectNegative Joined UInteger
-ftree-vectorizer-verbose=<number> Set the verbosity level of the vectorizer
ftree-scev-cprop
diff --git a/gcc/flag-types.h b/gcc/flag-types.h
index 307755a..430ac93 100644
--- a/gcc/flag-types.h
+++ b/gcc/flag-types.h
@@ -188,4 +188,20 @@ enum fp_contract_mode {
FP_CONTRACT_FAST = 2
};
+/* Vectorizer verbosity levels. */
+enum vect_verbosity_levels {
+ REPORT_NONE,
+ REPORT_VECTORIZED_LOCATIONS,
+ REPORT_UNVECTORIZED_LOCATIONS,
+ REPORT_COST,
+ REPORT_ALIGNMENT,
+ REPORT_DR_DETAILS,
+ REPORT_BAD_FORM_LOOPS,
+ REPORT_OUTER_LOOPS,
+ REPORT_SLP,
+ REPORT_DETAILS,
+ /* New verbosity levels should be added before this one. */
+ MAX_VERBOSITY_LEVEL
+};
+
#endif /* ! GCC_FLAG_TYPES_H */
diff --git a/gcc/opts.c b/gcc/opts.c
index 3099456..fb6e6dc 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -32,7 +32,6 @@ along with GCC; see the file COPYING3. If not see
#include "coretypes.h"
#include "tm.h" /* Needed by rtl.h and used for DWARF2_DEBUGGING_INFO
and DBX_DEBUGGING_INFO. */
-#include "tree.h" /* For vect_set_verbosity_level. */
#include "rtl.h" /* Needed by insn-attr.h. */
#include "opts.h"
#include "options.h"
@@ -144,6 +143,19 @@ set_struct_debug_option (struct gcc_options *opts, location_t loc,
}
}
+/* Handle -ftree-vectorizer-verbose=VAL for options OPTS. */
+
+static void
+vect_set_verbosity_level (struct gcc_options *opts, int val)
+{
+ if (val < MAX_VERBOSITY_LEVEL)
+ opts->x_user_vect_verbosity_level = (enum vect_verbosity_levels) val;
+ else
+ opts->x_user_vect_verbosity_level
+ = (enum vect_verbosity_levels) (MAX_VERBOSITY_LEVEL - 1);
+}
+
+
/* Strip off a legitimate source ending from the input string NAME of
length LEN. Rather than having to know the names used by all of
our front ends, we strip off an ending of a period followed by
@@ -1615,7 +1627,7 @@ common_handle_option (struct gcc_options *opts,
break;
case OPT_ftree_vectorizer_verbose_:
- vect_set_verbosity_level (arg);
+ vect_set_verbosity_level (opts, value);
break;
case OPT_ftls_model_:
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index cf8a622..ed73dee 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -75,8 +75,7 @@ FILE *vect_dump;
/* vect_verbosity_level set to an invalid value
to mark that it's uninitialized. */
-static enum verbosity_levels vect_verbosity_level = MAX_VERBOSITY_LEVEL;
-static enum verbosity_levels user_vect_verbosity_level = MAX_VERBOSITY_LEVEL;
+static enum vect_verbosity_levels vect_verbosity_level = MAX_VERBOSITY_LEVEL;
/* Loop or bb location. */
LOC vect_location;
@@ -86,25 +85,6 @@ VEC(vec_void_p,heap) *stmt_vec_info_vec;
-/* Function vect_set_verbosity_level.
-
- Called from opts.c upon detection of the
- -ftree-vectorizer-verbose=N option. */
-
-void
-vect_set_verbosity_level (const char *val)
-{
- unsigned int vl;
-
- vl = atoi (val);
- if (vl < MAX_VERBOSITY_LEVEL)
- user_vect_verbosity_level = (enum verbosity_levels) vl;
- else
- user_vect_verbosity_level
- = (enum verbosity_levels) (MAX_VERBOSITY_LEVEL - 1);
-}
-
-
/* Function vect_set_dump_settings.
Fix the verbosity level of the vectorizer if the
@@ -161,7 +141,7 @@ vect_set_dump_settings (bool slp)
For vectorization debug dumps. */
bool
-vect_print_dump_info (enum verbosity_levels vl)
+vect_print_dump_info (enum vect_verbosity_levels vl)
{
if (vl > vect_verbosity_level)
return false;
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index f2a5889..b2cc2d1 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -70,22 +70,6 @@ enum vect_def_type {
|| ((D) == vect_double_reduction_def) \
|| ((D) == vect_nested_cycle))
-/* Define verbosity levels. */
-enum verbosity_levels {
- REPORT_NONE,
- REPORT_VECTORIZED_LOCATIONS,
- REPORT_UNVECTORIZED_LOCATIONS,
- REPORT_COST,
- REPORT_ALIGNMENT,
- REPORT_DR_DETAILS,
- REPORT_BAD_FORM_LOOPS,
- REPORT_OUTER_LOOPS,
- REPORT_SLP,
- REPORT_DETAILS,
- /* New verbosity levels should be added before this one. */
- MAX_VERBOSITY_LEVEL
-};
-
/************************************************************************
SLP
************************************************************************/
@@ -902,6 +886,6 @@ void vect_pattern_recog (loop_vec_info);
/* In tree-vectorizer.c. */
unsigned vectorize_loops (void);
/* Vectorization debug information */
-extern bool vect_print_dump_info (enum verbosity_levels);
+extern bool vect_print_dump_info (enum vect_verbosity_levels);
#endif /* GCC_TREE_VECTORIZER_H */
diff --git a/gcc/tree.h b/gcc/tree.h
index e8e803d..92dff62 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -5425,9 +5425,6 @@ extern bool in_gimple_form;
extern tree get_base_address (tree t);
extern void mark_addressable (tree);
-/* In tree-vectorizer.c. */
-extern void vect_set_verbosity_level (const char *);
-
/* In tree.c. */
struct GTY(()) tree_map_base {