]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/coretypes.h
vectorizer: add _bb_vec_info::region_stmts and reverse_region_stmts
[thirdparty/gcc.git] / gcc / coretypes.h
index a18aaa2963a1023a625b408933cd8fb9d094e218..720f9f9c63f38b0f2c210f41bc3dd0a378afca1c 100644 (file)
@@ -1,5 +1,5 @@
 /* GCC core type declarations.
-   Copyright (C) 2002-2019 Free Software Foundation, Inc.
+   Copyright (C) 2002-2020 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -153,6 +153,7 @@ struct cl_decoded_option;
 struct cl_option_handlers;
 struct diagnostic_context;
 class pretty_printer;
+class diagnostic_event_id_t;
 
 template<typename T> struct array_traits;
 
@@ -211,6 +212,13 @@ enum profile_update {
   PROFILE_UPDATE_PREFER_ATOMIC
 };
 
+/* Type of profile reproducibility methods.  */
+enum profile_reproducibility {
+    PROFILE_REPRODUCIBILITY_SERIAL,
+    PROFILE_REPRODUCIBILITY_PARALLEL_RUNS,
+    PROFILE_REPRODUCIBILITY_MULTITHREADED
+};
+
 /* Types of unwind/exception handling info that can be generated.  */
 
 enum unwind_info_type
@@ -351,6 +359,27 @@ struct kv_pair
   const ValueType value;       /* the value of the name */
 };
 
+/* Alias of the first type, ignoring the second.  */
+template<typename T1, typename T2>
+using first_type = T1;
+
+/* Iterator pair used for a collection iteration with range-based loops.  */
+
+template<typename T>
+struct iterator_range
+{
+public:
+  iterator_range (const T &begin, const T &end)
+    : m_begin (begin), m_end (end) {}
+
+  T begin () const { return m_begin; }
+  T end () const { return m_end; }
+
+private:
+  T m_begin;
+  T m_end;
+};
+
 #else
 
 struct _dont_use_rtx_here_;