added new directives

This commit is contained in:
ALEXks
2024-04-09 16:41:48 +03:00
parent 1b4eb0c5c4
commit 2b48813783
23 changed files with 4084 additions and 3828 deletions

View File

@@ -619,3 +619,7 @@
#define SPF_PARAMETER_OP 969 /* SAPFOR */
#define SPF_CODE_COVERAGE_OP 970 /* SAPFOR */
#define SPF_UNROLL_OP 971 /* SAPFOR */
#define SPF_COVER_OP 972 /* SAPFOR */
#define SPF_MERGE_OP 973 /* SAPFOR */
#define SPF_PROCESS_PRIVATE_OP 974 /* SAPFOR */

View File

@@ -621,3 +621,7 @@ script using "tag". Run make tag.h to regenerate this file */
tag [ SPF_PARAMETER_OP ] = "SPF_PARAMETER_OP";
tag [ SPF_CODE_COVERAGE_OP ] = "SPF_CODE_COVERAGE_OP";
tag [ SPF_UNROLL_OP ] = "SPF_UNROLL_OP";
tag [ SPF_COVER_OP ] = "SPF_COVER_OP";
tag [ SPF_MERGE_OP ] = "SPF_MERGE_OP";
tag [ SPF_PROCESS_PRIVATE_OP ] = "SPF_PROCESS_PRIVATE_OP";

View File

@@ -460,6 +460,9 @@ DEFNODECODE(SPF_FLEXIBLE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
DEFNODECODE(SPF_PARAMETER_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
DEFNODECODE(SPF_CODE_COVERAGE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
DEFNODECODE(SPF_UNROLL_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
DEFNODECODE(SPF_COVER_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
DEFNODECODE(SPF_MERGE_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
DEFNODECODE(SPF_PROCESS_PRIVATE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
DEFNODECODE(SPF_ANALYSIS_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')
DEFNODECODE(SPF_PARALLEL_DIR,"nodetext",'s',0,BIFNODE, '_','_','_','_','_')

View File

@@ -432,5 +432,11 @@ DEFNODECODE(SPF_PARAMETER_OP, "PARAMETER (%LL1)",
'e',1,LLNODE)
DEFNODECODE(SPF_UNROLL_OP, "UNROLL %IF(%LL1 != %NULL)(%LL1)%ENDIF",
'e',1,LLNODE)
DEFNODECODE(SPF_MERGE_OP, "MERGE",
'e',0,LLNODE)
DEFNODECODE(SPF_COVER_OP, "COVER (%LL1)",
'e',1,LLNODE)
DEFNODECODE(SPF_PROCESS_PRIVATE_OP, "PROCESS_PRIVATE_OP (%LL1)",
'e',1,LLNODE)

View File

@@ -60,17 +60,27 @@ analysis_spec_list: analysis_spec
analysis_spec: analysis_reduction_spec
| analysis_private_spec
| analysis_parameter_spec
| analysis_process_private_spec
| analysis_parameter_spec
| analysis_cover_spec
;
analysis_reduction_spec: needkeyword REDUCTION LEFTPAR reduction_list RIGHTPAR
{ $$ = make_llnd(fi,REDUCTION_OP,$4,LLNULL,SMNULL); }
;
;
analysis_private_spec: needkeyword PRIVATE LEFTPAR variable_list RIGHTPAR
{ $$ = make_llnd(fi,ACC_PRIVATE_OP,$4,LLNULL,SMNULL);}
;
analysis_process_private_spec: needkeyword SPF_PROCESS_PRIVATE LEFTPAR variable_list RIGHTPAR
{ $$ = make_llnd(fi,SPF_PROCESS_PRIVATE_OP,$4,LLNULL,SMNULL);}
;
analysis_cover_spec: needkeyword SPF_COVER LEFTPAR integer_constant RIGHTPAR
{ $$ = make_llnd(fi,SPF_COVER_OP,$4,LLNULL,SMNULL);}
;
analysis_parameter_spec: needkeyword PARAMETER LEFTPAR spf_parameter_list RIGHTPAR
{ $$ = make_llnd(fi,SPF_PARAMETER_OP,$4,LLNULL,SMNULL);}
;
@@ -128,6 +138,8 @@ transform_spec: needkeyword SPF_NOINLINE
{ $$ = make_llnd(fi,SPF_UNROLL_OP,LLNULL,LLNULL,SMNULL);}
| needkeyword SPF_UNROLL LEFTPAR unroll_list RIGHTPAR
{ $$ = make_llnd(fi,SPF_UNROLL_OP,$4,LLNULL,SMNULL);}
| needkeyword SPF_MERGE
{ $$ = make_llnd(fi,SPF_MERGE_OP,LLNULL,LLNULL,SMNULL);}
;
unroll_list: expr COMMA expr COMMA expr

View File

@@ -281,6 +281,7 @@ static int in_vec = NO; /* set if processing array constructor */
%type <bf_node> spf_directive spf_analysis spf_parallel spf_transform spf_parallel_reg spf_end_parallel_reg
%type <bf_node> spf_checkpoint
%type <ll_node> analysis_spec_list analysis_spec analysis_reduction_spec analysis_private_spec analysis_parameter_spec
%type <ll_node> analysis_cover_spec analysis_process_private_spec
%type <ll_node> parallel_spec_list parallel_spec parallel_shadow_spec parallel_across_spec parallel_remote_access_spec
%type <ll_node> transform_spec_list transform_spec array_element_list spf_parameter_list spf_parameter
%type <ll_node> characteristic characteristic_list opt_clause_apply_region opt_clause_apply_fragment

File diff suppressed because it is too large Load Diff

View File

@@ -391,8 +391,11 @@
SPF_APPLY_FRAGMENT = 350,
SPF_CODE_COVERAGE = 351,
SPF_UNROLL = 352,
BINARY_OP = 355,
UNARY_OP = 356
SPF_MERGE = 353,
SPF_COVER = 354,
SPF_PROCESS_PRIVATE = 355,
BINARY_OP = 358,
UNARY_OP = 359
};
#endif
/* Tokens. */
@@ -748,15 +751,18 @@
#define SPF_APPLY_FRAGMENT 350
#define SPF_CODE_COVERAGE 351
#define SPF_UNROLL 352
#define BINARY_OP 355
#define UNARY_OP 356
#define SPF_MERGE 353
#define SPF_COVER 354
#define SPF_PROCESS_PRIVATE 355
#define BINARY_OP 358
#define UNARY_OP 359
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 435 "gram1.y"
#line 438 "gram1.y"
{
int token;
char charv;
@@ -769,7 +775,7 @@ typedef union YYSTYPE
PTR_LABEL label;
}
/* Line 1489 of yacc.c. */
#line 773 "gram1.tab.h"
#line 779 "gram1.tab.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1

View File

@@ -350,6 +350,9 @@
%token SPF_APPLY_FRAGMENT 350
%token SPF_CODE_COVERAGE 351
%token SPF_UNROLL 352
%token SPF_MERGE 353
%token SPF_COVER 354
%token SPF_PROCESS_PRIVATE 355
%{
#include <string.h>
@@ -633,6 +636,7 @@ static int in_vec = NO; /* set if processing array constructor */
%type <bf_node> spf_directive spf_analysis spf_parallel spf_transform spf_parallel_reg spf_end_parallel_reg
%type <bf_node> spf_checkpoint
%type <ll_node> analysis_spec_list analysis_spec analysis_reduction_spec analysis_private_spec analysis_parameter_spec
%type <ll_node> analysis_cover_spec analysis_process_private_spec
%type <ll_node> parallel_spec_list parallel_spec parallel_shadow_spec parallel_across_spec parallel_remote_access_spec
%type <ll_node> transform_spec_list transform_spec array_element_list spf_parameter_list spf_parameter
%type <ll_node> characteristic characteristic_list opt_clause_apply_region opt_clause_apply_fragment
@@ -8014,17 +8018,27 @@ analysis_spec_list: analysis_spec
analysis_spec: analysis_reduction_spec
| analysis_private_spec
| analysis_parameter_spec
| analysis_process_private_spec
| analysis_parameter_spec
| analysis_cover_spec
;
analysis_reduction_spec: needkeyword REDUCTION LEFTPAR reduction_list RIGHTPAR
{ $$ = make_llnd(fi,REDUCTION_OP,$4,LLNULL,SMNULL); }
;
;
analysis_private_spec: needkeyword PRIVATE LEFTPAR variable_list RIGHTPAR
{ $$ = make_llnd(fi,ACC_PRIVATE_OP,$4,LLNULL,SMNULL);}
;
analysis_process_private_spec: needkeyword SPF_PROCESS_PRIVATE LEFTPAR variable_list RIGHTPAR
{ $$ = make_llnd(fi,SPF_PROCESS_PRIVATE_OP,$4,LLNULL,SMNULL);}
;
analysis_cover_spec: needkeyword SPF_COVER LEFTPAR integer_constant RIGHTPAR
{ $$ = make_llnd(fi,SPF_COVER_OP,$4,LLNULL,SMNULL);}
;
analysis_parameter_spec: needkeyword PARAMETER LEFTPAR spf_parameter_list RIGHTPAR
{ $$ = make_llnd(fi,SPF_PARAMETER_OP,$4,LLNULL,SMNULL);}
;
@@ -8082,6 +8096,8 @@ transform_spec: needkeyword SPF_NOINLINE
{ $$ = make_llnd(fi,SPF_UNROLL_OP,LLNULL,LLNULL,SMNULL);}
| needkeyword SPF_UNROLL LEFTPAR unroll_list RIGHTPAR
{ $$ = make_llnd(fi,SPF_UNROLL_OP,$4,LLNULL,SMNULL);}
| needkeyword SPF_MERGE
{ $$ = make_llnd(fi,SPF_MERGE_OP,LLNULL,LLNULL,SMNULL);}
;
unroll_list: expr COMMA expr COMMA expr

View File

@@ -370,6 +370,7 @@ struct Keylist keys[] = {
{"copyin", OMPDVM_COPYIN},/*OMP*/
{"copyprivate", OMPDVM_COPYPRIVATE},/*OMP*/
{"corner", CORNER},
{"cover", SPF_COVER}, /*SPF*/
/* {"criticalsection", CRITICALSECTION},*/
{"cuda_block", ACC_CUDA_BLOCK}, /*ACC*/
{"cuda", ACC_CUDA}, /*ACC*/
@@ -494,7 +495,7 @@ struct Keylist keys[] = {
{"maxloc", MAXLOC},
/* {"maxparallel", MAXPARALLEL},*/
{"max", MAX},
/* {"merger", MERGER},*/
{"merge", SPF_MERGE}, /*SPF*/
{"minloc", MINLOC},
{"min", MIN},
{"moduleprocedure", MODULE_PROCEDURE},
@@ -536,6 +537,7 @@ struct Keylist keys[] = {
{"private", PRIVATE},
/*!!! {"probe", PROBE}, */
/*!!! {"procedure", PROCEDURE},*/
{"process_private", SPF_PROCESS_PRIVATE}, /*SPF*/
{"product", PRODUCT},
{"program", PROGRAM},
/*!!! {"processcluster", PROCESS_CLUSTER},*/

View File

@@ -619,3 +619,7 @@
#define SPF_PARAMETER_OP 969 /* SAPFOR */
#define SPF_CODE_COVERAGE_OP 970 /* SAPFOR */
#define SPF_UNROLL_OP 971 /* SAPFOR */
#define SPF_COVER_OP 972 /* SAPFOR */
#define SPF_MERGE_OP 973 /* SAPFOR */
#define SPF_PROCESS_PRIVATE_OP 974 /* SAPFOR */

View File

@@ -621,3 +621,7 @@ script using "tag". Run make tag.h to regenerate this file */
tag [ SPF_PARAMETER_OP ] = "SPF_PARAMETER_OP";
tag [ SPF_CODE_COVERAGE_OP ] = "SPF_CODE_COVERAGE_OP";
tag [ SPF_UNROLL_OP ] = "SPF_UNROLL_OP";
tag [ SPF_COVER_OP ] = "SPF_COVER_OP";
tag [ SPF_MERGE_OP ] = "SPF_MERGE_OP";
tag [ SPF_PROCESS_PRIVATE_OP ] = "SPF_PROCESS_PRIVATE_OP";

View File

@@ -350,3 +350,6 @@
#define SPF_APPLY_FRAGMENT 350
#define SPF_CODE_COVERAGE 351
#define SPF_UNROLL 352
#define SPF_MERGE 353
#define SPF_COVER 354
#define SPF_PROCESS_PRIVATE 355

View File

@@ -350,3 +350,6 @@ SPF_APPLY_REGION
SPF_APPLY_FRAGMENT
SPF_CODE_COVERAGE
SPF_UNROLL
SPF_MERGE
SPF_COVER
SPF_PROCESS_PRIVATE