[RFC PATCH 03/10] target/hexagon: make helper functions non-static

Alessandro Di Federico via posted 10 patches 4 years, 9 months ago
There is a newer version of this series
[RFC PATCH 03/10] target/hexagon: make helper functions non-static
Posted by Alessandro Di Federico via 4 years, 9 months ago
From: Paolo Montesel <babush@rev.ng>

Move certain helper functions required by code generated by the
idef-parser available outside genptr.c, moving them into macros.h.

This patch also introduces the gen_cancel and gen_fbrev helper which
will be used by idef-parser.

Signed-off-by: Alessandro Di Federico <ale@rev.ng>
---
 target/hexagon/genptr.c | 13 ++++++++++---
 target/hexagon/genptr.h |  7 +++++++
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/target/hexagon/genptr.c b/target/hexagon/genptr.c
index 7481f4c1dd..97de669f38 100644
--- a/target/hexagon/genptr.c
+++ b/target/hexagon/genptr.c
@@ -26,8 +26,15 @@
 #include "translate.h"
 #include "macros.h"
 #include "gen_tcg.h"
+#include "genptr.h"
 
-static inline TCGv gen_read_preg(TCGv pred, uint8_t num)
+TCGv gen_read_reg(TCGv result, int num)
+{
+    tcg_gen_mov_tl(result, hex_gpr[num]);
+    return result;
+}
+
+TCGv gen_read_preg(TCGv pred, uint8_t num)
 {
     tcg_gen_mov_tl(pred, hex_pred[num]);
     return pred;
@@ -53,7 +60,7 @@ static inline void gen_log_predicated_reg_write(int rnum, TCGv val, int slot)
     tcg_temp_free(slot_mask);
 }
 
-static inline void gen_log_reg_write(int rnum, TCGv val)
+void gen_log_reg_write(int rnum, TCGv val)
 {
     tcg_gen_mov_tl(hex_new_value[rnum], val);
 #if HEX_DEBUG
@@ -116,7 +123,7 @@ static void gen_log_reg_write_pair(int rnum, TCGv_i64 val)
 #endif
 }
 
-static inline void gen_log_pred_write(int pnum, TCGv val)
+void gen_log_pred_write(int pnum, TCGv val)
 {
     TCGv zero = tcg_const_tl(0);
     TCGv base_val = tcg_temp_new();
diff --git a/target/hexagon/genptr.h b/target/hexagon/genptr.h
index c158005d2a..0bfa99b463 100644
--- a/target/hexagon/genptr.h
+++ b/target/hexagon/genptr.h
@@ -19,7 +19,14 @@
 #define HEXAGON_GENPTR_H
 
 #include "insn.h"
+#include "tcg/tcg.h"
+#include "translate.h"
 
 extern const SemanticInsn opcode_genptr[];
 
+TCGv gen_read_reg(TCGv result, int num);
+TCGv gen_read_preg(TCGv pred, uint8_t num);
+void gen_log_reg_write(int rnum, TCGv val);
+void gen_log_pred_write(int pnum, TCGv val);
+
 #endif
-- 
2.30.0


Re: [RFC PATCH 03/10] target/hexagon: make helper functions non-static
Posted by Philippe Mathieu-Daudé 4 years, 9 months ago
On 2/11/21 10:50 PM, Alessandro Di Federico via wrote:
> From: Paolo Montesel <babush@rev.ng>
> 
> Move certain helper functions required by code generated by the
> idef-parser available outside genptr.c, moving them into macros.h.
> 

^ OK

> This patch also introduces the gen_cancel and gen_fbrev helper which
> will be used by idef-parser.

No, it doesn't. Probably old comment?

Removing it:
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> 
> Signed-off-by: Alessandro Di Federico <ale@rev.ng>
> ---
>  target/hexagon/genptr.c | 13 ++++++++++---
>  target/hexagon/genptr.h |  7 +++++++
>  2 files changed, 17 insertions(+), 3 deletions(-)
> 
> diff --git a/target/hexagon/genptr.c b/target/hexagon/genptr.c
> index 7481f4c1dd..97de669f38 100644
> --- a/target/hexagon/genptr.c
> +++ b/target/hexagon/genptr.c
> @@ -26,8 +26,15 @@
>  #include "translate.h"
>  #include "macros.h"
>  #include "gen_tcg.h"
> +#include "genptr.h"
>  
> -static inline TCGv gen_read_preg(TCGv pred, uint8_t num)
> +TCGv gen_read_reg(TCGv result, int num)
> +{
> +    tcg_gen_mov_tl(result, hex_gpr[num]);
> +    return result;
> +}
> +
> +TCGv gen_read_preg(TCGv pred, uint8_t num)
>  {
>      tcg_gen_mov_tl(pred, hex_pred[num]);
>      return pred;
> @@ -53,7 +60,7 @@ static inline void gen_log_predicated_reg_write(int rnum, TCGv val, int slot)
>      tcg_temp_free(slot_mask);
>  }
>  
> -static inline void gen_log_reg_write(int rnum, TCGv val)
> +void gen_log_reg_write(int rnum, TCGv val)
>  {
>      tcg_gen_mov_tl(hex_new_value[rnum], val);
>  #if HEX_DEBUG
> @@ -116,7 +123,7 @@ static void gen_log_reg_write_pair(int rnum, TCGv_i64 val)
>  #endif
>  }
>  
> -static inline void gen_log_pred_write(int pnum, TCGv val)
> +void gen_log_pred_write(int pnum, TCGv val)
>  {
>      TCGv zero = tcg_const_tl(0);
>      TCGv base_val = tcg_temp_new();
> diff --git a/target/hexagon/genptr.h b/target/hexagon/genptr.h
> index c158005d2a..0bfa99b463 100644
> --- a/target/hexagon/genptr.h
> +++ b/target/hexagon/genptr.h
> @@ -19,7 +19,14 @@
>  #define HEXAGON_GENPTR_H
>  
>  #include "insn.h"
> +#include "tcg/tcg.h"
> +#include "translate.h"
>  
>  extern const SemanticInsn opcode_genptr[];
>  
> +TCGv gen_read_reg(TCGv result, int num);
> +TCGv gen_read_preg(TCGv pred, uint8_t num);
> +void gen_log_reg_write(int rnum, TCGv val);
> +void gen_log_pred_write(int pnum, TCGv val);
> +
>  #endif
> 


Re: [RFC PATCH 03/10] target/hexagon: make helper functions non-static
Posted by Philippe Mathieu-Daudé 4 years, 9 months ago

On 2/12/21 12:04 AM, Philippe Mathieu-Daudé wrote:
> On 2/11/21 10:50 PM, Alessandro Di Federico via wrote:
>> From: Paolo Montesel <babush@rev.ng>
>>
>> Move certain helper functions required by code generated by the
>> idef-parser available outside genptr.c, moving them into macros.h.
>>
> 
> ^ OK
> 
>> This patch also introduces the gen_cancel and gen_fbrev helper which
>> will be used by idef-parser.
> 
> No, it doesn't. Probably old comment?
> 
> Removing it:
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> 

Missing Paolo's s-o-b?

>>
>> Signed-off-by: Alessandro Di Federico <ale@rev.ng>
>> ---
>>  target/hexagon/genptr.c | 13 ++++++++++---
>>  target/hexagon/genptr.h |  7 +++++++
>>  2 files changed, 17 insertions(+), 3 deletions(-)