RISC-V: Replace CONSTEXPR with constexpr
Checks
Commit Message
From: Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
Move away from the pre-C++11 compatibility macro CONSTEXPR.
This patch is inspired by aarch64:
https://gcc.gnu.org/pipermail/gcc-patches/2022-October/603974.html.
gcc/ChangeLog:
* config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR
with constexpr throughout.
* config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise.
* config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Likewise.
* config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Likewise.
---
gcc/config/riscv/riscv-vector-builtins-bases.cc | 4 ++--
gcc/config/riscv/riscv-vector-builtins-shapes.cc | 2 +-
gcc/config/riscv/riscv-vector-builtins.cc | 14 +++++++-------
gcc/config/riscv/riscv-vector-builtins.h | 2 +-
4 files changed, 11 insertions(+), 11 deletions(-)
Comments
Committed, thanks!
On Mon, Oct 24, 2022 at 10:21 AM <juzhe.zhong@rivai.ai> wrote:
>
> From: Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
>
> Move away from the pre-C++11 compatibility macro CONSTEXPR.
> This patch is inspired by aarch64:
> https://gcc.gnu.org/pipermail/gcc-patches/2022-October/603974.html.
>
> gcc/ChangeLog:
>
> * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR
> with constexpr throughout.
> * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise.
> * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Likewise.
> * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Likewise.
>
> ---
> gcc/config/riscv/riscv-vector-builtins-bases.cc | 4 ++--
> gcc/config/riscv/riscv-vector-builtins-shapes.cc | 2 +-
> gcc/config/riscv/riscv-vector-builtins.cc | 14 +++++++-------
> gcc/config/riscv/riscv-vector-builtins.h | 2 +-
> 4 files changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/gcc/config/riscv/riscv-vector-builtins-bases.cc b/gcc/config/riscv/riscv-vector-builtins-bases.cc
> index 231b63a610d..713a7566e29 100644
> --- a/gcc/config/riscv/riscv-vector-builtins-bases.cc
> +++ b/gcc/config/riscv/riscv-vector-builtins-bases.cc
> @@ -84,8 +84,8 @@ public:
> }
> };
>
> -static CONSTEXPR const vsetvl<false> vsetvl_obj;
> -static CONSTEXPR const vsetvl<true> vsetvlmax_obj;
> +static constexpr const vsetvl<false> vsetvl_obj;
> +static constexpr const vsetvl<true> vsetvlmax_obj;
> namespace bases {
> const function_base *const vsetvl = &vsetvl_obj;
> const function_base *const vsetvlmax = &vsetvlmax_obj;
> diff --git a/gcc/config/riscv/riscv-vector-builtins-shapes.cc b/gcc/config/riscv/riscv-vector-builtins-shapes.cc
> index 24fc1c02341..14c59690c06 100644
> --- a/gcc/config/riscv/riscv-vector-builtins-shapes.cc
> +++ b/gcc/config/riscv/riscv-vector-builtins-shapes.cc
> @@ -71,7 +71,7 @@ build_all (function_builder &b, const function_group_info &group)
> /* Declare the function shape NAME, pointing it to an instance
> of class <NAME>_def. */
> #define SHAPE(DEF, VAR) \
> - static CONSTEXPR const DEF##_def VAR##_obj; \
> + static constexpr const DEF##_def VAR##_obj; \
> namespace shapes { const function_shape *const VAR = &VAR##_obj; }
>
> /* Base class for for build. */
> diff --git a/gcc/config/riscv/riscv-vector-builtins.cc b/gcc/config/riscv/riscv-vector-builtins.cc
> index dc410788c99..caeb97211f9 100644
> --- a/gcc/config/riscv/riscv-vector-builtins.cc
> +++ b/gcc/config/riscv/riscv-vector-builtins.cc
> @@ -88,7 +88,7 @@ struct registered_function_hasher : nofree_ptr_hash<registered_function>
> };
>
> /* Static information about each RVV type. */
> -static CONSTEXPR const vector_type_info vector_types[] = {
> +static constexpr const vector_type_info vector_types[] = {
> #define DEF_RVV_TYPE(NAME, NCHARS, ABI_NAME, ARGS...) \
> {#NAME, #ABI_NAME, "u" #NCHARS #ABI_NAME},
> #include "riscv-vector-builtins.def"
> @@ -123,23 +123,23 @@ static const rvv_type_info i_ops[] = {
> #include "riscv-vector-builtins-types.def"
> {NUM_VECTOR_TYPES, 0}};
>
> -static CONSTEXPR const rvv_arg_type_info rvv_arg_type_info_end
> +static constexpr const rvv_arg_type_info rvv_arg_type_info_end
> = rvv_arg_type_info (NUM_BASE_TYPES);
>
> /* A list of args for size_t func (void) function. */
> -static CONSTEXPR const rvv_arg_type_info void_args[]
> +static constexpr const rvv_arg_type_info void_args[]
> = {rvv_arg_type_info (RVV_BASE_void), rvv_arg_type_info_end};
>
> /* A list of args for size_t func (size_t) function. */
> -static CONSTEXPR const rvv_arg_type_info size_args[]
> +static constexpr const rvv_arg_type_info size_args[]
> = {rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info_end};
>
> /* A list of none preds that will be registered for intrinsic functions. */
> -static CONSTEXPR const predication_type_index none_preds[]
> +static constexpr const predication_type_index none_preds[]
> = {PRED_TYPE_none, NUM_PRED_TYPES};
>
> /* A static operand information for size_t func (void) function registration. */
> -static CONSTEXPR const rvv_op_info i_none_size_void_ops
> +static constexpr const rvv_op_info i_none_size_void_ops
> = {i_ops, /* Types */
> OP_TYPE_none, /* Suffix */
> rvv_arg_type_info (RVV_BASE_size), /* Return type */
> @@ -147,7 +147,7 @@ static CONSTEXPR const rvv_op_info i_none_size_void_ops
>
> /* A static operand information for size_t func (size_t) function registration.
> */
> -static CONSTEXPR const rvv_op_info i_none_size_size_ops
> +static constexpr const rvv_op_info i_none_size_size_ops
> = {i_ops, /* Types */
> OP_TYPE_none, /* Suffix */
> rvv_arg_type_info (RVV_BASE_size), /* Return type */
> diff --git a/gcc/config/riscv/riscv-vector-builtins.h b/gcc/config/riscv/riscv-vector-builtins.h
> index 425da12326c..e5636e23a7c 100644
> --- a/gcc/config/riscv/riscv-vector-builtins.h
> +++ b/gcc/config/riscv/riscv-vector-builtins.h
> @@ -171,7 +171,7 @@ struct rvv_builtin_suffixes
> /* RVV Builtin argument information. */
> struct rvv_arg_type_info
> {
> - CONSTEXPR rvv_arg_type_info (rvv_base_type base_type_in)
> + constexpr rvv_arg_type_info (rvv_base_type base_type_in)
> : base_type (base_type_in)
> {}
> enum rvv_base_type base_type;
> --
> 2.36.1
>
@@ -84,8 +84,8 @@ public:
}
};
-static CONSTEXPR const vsetvl<false> vsetvl_obj;
-static CONSTEXPR const vsetvl<true> vsetvlmax_obj;
+static constexpr const vsetvl<false> vsetvl_obj;
+static constexpr const vsetvl<true> vsetvlmax_obj;
namespace bases {
const function_base *const vsetvl = &vsetvl_obj;
const function_base *const vsetvlmax = &vsetvlmax_obj;
@@ -71,7 +71,7 @@ build_all (function_builder &b, const function_group_info &group)
/* Declare the function shape NAME, pointing it to an instance
of class <NAME>_def. */
#define SHAPE(DEF, VAR) \
- static CONSTEXPR const DEF##_def VAR##_obj; \
+ static constexpr const DEF##_def VAR##_obj; \
namespace shapes { const function_shape *const VAR = &VAR##_obj; }
/* Base class for for build. */
@@ -88,7 +88,7 @@ struct registered_function_hasher : nofree_ptr_hash<registered_function>
};
/* Static information about each RVV type. */
-static CONSTEXPR const vector_type_info vector_types[] = {
+static constexpr const vector_type_info vector_types[] = {
#define DEF_RVV_TYPE(NAME, NCHARS, ABI_NAME, ARGS...) \
{#NAME, #ABI_NAME, "u" #NCHARS #ABI_NAME},
#include "riscv-vector-builtins.def"
@@ -123,23 +123,23 @@ static const rvv_type_info i_ops[] = {
#include "riscv-vector-builtins-types.def"
{NUM_VECTOR_TYPES, 0}};
-static CONSTEXPR const rvv_arg_type_info rvv_arg_type_info_end
+static constexpr const rvv_arg_type_info rvv_arg_type_info_end
= rvv_arg_type_info (NUM_BASE_TYPES);
/* A list of args for size_t func (void) function. */
-static CONSTEXPR const rvv_arg_type_info void_args[]
+static constexpr const rvv_arg_type_info void_args[]
= {rvv_arg_type_info (RVV_BASE_void), rvv_arg_type_info_end};
/* A list of args for size_t func (size_t) function. */
-static CONSTEXPR const rvv_arg_type_info size_args[]
+static constexpr const rvv_arg_type_info size_args[]
= {rvv_arg_type_info (RVV_BASE_size), rvv_arg_type_info_end};
/* A list of none preds that will be registered for intrinsic functions. */
-static CONSTEXPR const predication_type_index none_preds[]
+static constexpr const predication_type_index none_preds[]
= {PRED_TYPE_none, NUM_PRED_TYPES};
/* A static operand information for size_t func (void) function registration. */
-static CONSTEXPR const rvv_op_info i_none_size_void_ops
+static constexpr const rvv_op_info i_none_size_void_ops
= {i_ops, /* Types */
OP_TYPE_none, /* Suffix */
rvv_arg_type_info (RVV_BASE_size), /* Return type */
@@ -147,7 +147,7 @@ static CONSTEXPR const rvv_op_info i_none_size_void_ops
/* A static operand information for size_t func (size_t) function registration.
*/
-static CONSTEXPR const rvv_op_info i_none_size_size_ops
+static constexpr const rvv_op_info i_none_size_size_ops
= {i_ops, /* Types */
OP_TYPE_none, /* Suffix */
rvv_arg_type_info (RVV_BASE_size), /* Return type */
@@ -171,7 +171,7 @@ struct rvv_builtin_suffixes
/* RVV Builtin argument information. */
struct rvv_arg_type_info
{
- CONSTEXPR rvv_arg_type_info (rvv_base_type base_type_in)
+ constexpr rvv_arg_type_info (rvv_base_type base_type_in)
: base_type (base_type_in)
{}
enum rvv_base_type base_type;