[v2,02/07] RISC-V: autovec: Export policy functions to global scope

Message ID b6f5a659-6487-83bb-acef-ba19122d4c1e@rivosinc.com
State Superseded, archived
Headers
Series RISC-V: autovec: Add auto-vectorization support |

Commit Message

Michael Collison March 6, 2023, 3:14 a.m. UTC
  This patch adds foundational support by making two functions that handle 
predication policies visibly globally.

gcc/ChangeLog:

2023-03-02  Michael Collison <collison@rivosinc.com>
                     Juzhe Zhong <juzhe.zhong@rivai.ai>

                 * config/riscv/riscv-vector-builtins.cc 
(get_tail_policy_for_pred):
                 Remove static declaration to to make externally visible.
                 (get_mask_policy_for_pred): Ditto.
                 * config/riscv/riscv-vector-builtins.h 
(get_tail_policy_for_pred):
                 New external declaration.
                 (get_mask_policy_for_pred): Ditto.

---
  gcc/config/riscv/riscv-vector-builtins.cc | 4 ++--
  gcc/config/riscv/riscv-vector-builtins.h  | 2 ++
  2 files changed, 4 insertions(+), 2 deletions(-)
  

Patch

diff --git a/gcc/config/riscv/riscv-vector-builtins.cc 
b/gcc/config/riscv/riscv-vector-builtins.cc
index 2d57086262b..352ffd8867d 100644
--- a/gcc/config/riscv/riscv-vector-builtins.cc
+++ b/gcc/config/riscv/riscv-vector-builtins.cc
@@ -2448,7 +2448,7 @@  use_real_merge_p (enum predication_type_index pred)

  /* Get TAIL policy for predication. If predication indicates TU, 
return the TU.
     Otherwise, return the prefer default configuration.  */
-static rtx
+rtx
  get_tail_policy_for_pred (enum predication_type_index pred)
  {
    if (pred == PRED_TYPE_tu || pred == PRED_TYPE_tum || pred == 
PRED_TYPE_tumu)
@@ -2458,7 +2458,7 @@  get_tail_policy_for_pred (enum 
predication_type_index pred)

  /* Get MASK policy for predication. If predication indicates MU, 
return the MU.
     Otherwise, return the prefer default configuration.  */
-static rtx
+rtx
  get_mask_policy_for_pred (enum predication_type_index pred)
  {
    if (pred == PRED_TYPE_tumu || pred == PRED_TYPE_mu)
diff --git a/gcc/config/riscv/riscv-vector-builtins.h 
b/gcc/config/riscv/riscv-vector-builtins.h
index 8464aa9b7e9..d62d2bdab54 100644
--- a/gcc/config/riscv/riscv-vector-builtins.h
+++ b/gcc/config/riscv/riscv-vector-builtins.h
@@ -456,6 +456,8 @@  extern const char *const operand_suffixes[NUM_OP_TYPES];
  extern const rvv_builtin_suffixes type_suffixes[NUM_VECTOR_TYPES + 1];
  extern const char *const predication_suffixes[NUM_PRED_TYPES];
  extern rvv_builtin_types_t builtin_types[NUM_VECTOR_TYPES + 1];
+extern rtx get_tail_policy_for_pred (enum predication_type_index pred);
+extern rtx get_mask_policy_for_pred (enum predication_type_index pred);

  inline tree
  rvv_arg_type_info::get_scalar_type (vector_type_index type_idx) const