diff options
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/extend.texi | 30 | ||||
-rw-r--r-- | gcc/doc/generic.texi | 24 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 12 | ||||
-rw-r--r-- | gcc/doc/passes.texi | 63 | ||||
-rw-r--r-- | gcc/doc/sourcebuild.texi | 3 |
5 files changed, 0 insertions, 132 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 9349f95..30f89b0 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -85,7 +85,6 @@ extensions, accepted by GCC in C90 mode and in C++. * Object Size Checking:: Built-in functions for limited buffer overflow checking. * Pointer Bounds Checker builtins:: Built-in functions for Pointer Bounds Checker. -* Cilk Plus Builtins:: Built-in functions for the Cilk Plus language extension. * Other Builtins:: Other built-in functions. * Target Builtins:: Built-in functions specific to particular targets. * Target Format Checks:: Format checks specific to particular targets. @@ -3295,9 +3294,6 @@ The optional argument @var{mask} may have the value and instructs the compiler to generate non-masked or masked clones correspondingly. By default, all clones are generated. -The attribute should not be used together with Cilk Plus @code{vector} -attribute on the same function. - If the attribute is specified and @code{#pragma omp declare simd} is present on a declaration and the @option{-fopenmp} or @option{-fopenmp-simd} switch is specified, then the attribute is ignored. @@ -10935,32 +10931,6 @@ the built-in function returns -1. @end deftypefn -@node Cilk Plus Builtins -@section Cilk Plus C/C++ Language Extension Built-in Functions - -GCC provides support for the following built-in reduction functions if Cilk Plus -is enabled. Cilk Plus can be enabled using the @option{-fcilkplus} flag. - -@itemize @bullet -@item @code{__sec_implicit_index} -@item @code{__sec_reduce} -@item @code{__sec_reduce_add} -@item @code{__sec_reduce_all_nonzero} -@item @code{__sec_reduce_all_zero} -@item @code{__sec_reduce_any_nonzero} -@item @code{__sec_reduce_any_zero} -@item @code{__sec_reduce_max} -@item @code{__sec_reduce_min} -@item @code{__sec_reduce_max_ind} -@item @code{__sec_reduce_min_ind} -@item @code{__sec_reduce_mul} -@item @code{__sec_reduce_mutating} -@end itemize - -Further details and examples about these built-in functions are described -in the Cilk Plus language manual which can be found at -@uref{https://www.cilkplus.org}. - @node Other Builtins @section Other Built-in Functions Provided by GCC @cindex built-in functions diff --git a/gcc/doc/generic.texi b/gcc/doc/generic.texi index 1a37615..17f38df 100644 --- a/gcc/doc/generic.texi +++ b/gcc/doc/generic.texi @@ -3234,30 +3234,6 @@ several statements chained together. Used to represent a @code{break} statement. There are no additional fields. -@item CILK_SPAWN_STMT - -Used to represent a spawning function in the Cilk Plus language extension. -This tree has one field that holds the name of the spawning function. -@code{_Cilk_spawn} can be written in C in the following way: - -@smallexample -@code{_Cilk_spawn} <function_name> (<parameters>); -@end smallexample - -Detailed description for usage and functionality of @code{_Cilk_spawn} can be -found at @uref{https://www.cilkplus.org}. - -@item CILK_SYNC_STMT - -This statement is part of the Cilk Plus language extension. It indicates that -the current function cannot continue in parallel with its spawned children. -There are no additional fields. @code{_Cilk_sync} can be written in C in the -following way: - -@smallexample -@code{_Cilk_sync}; -@end smallexample - @item CLEANUP_STMT Used to represent an action that should take place upon exit from the diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 02a0c1e..2de3db1 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -2098,18 +2098,6 @@ Enable handling of OpenMP's SIMD directives with @code{#pragma omp} in C/C++ and @code{!$omp} in Fortran. Other OpenMP directives are ignored. -@item -fcilkplus -@opindex fcilkplus -@cindex Enable Cilk Plus -Enable the usage of Cilk Plus language extension features for C/C++. -When the option @option{-fcilkplus} is specified, enable the usage of -the Cilk Plus Language extension features for C/C++. The present -implementation follows ABI version 1.2. This is an experimental -feature that is only partially complete, and whose interface may -change in future versions of GCC as the official specification -changes. Currently, all features but @code{_Cilk_for} have been -implemented. - @item -fgnu-tm @opindex fgnu-tm When the option @option{-fgnu-tm} is specified, the compiler diff --git a/gcc/doc/passes.texi b/gcc/doc/passes.texi index 2bf786c..ef3c35c 100644 --- a/gcc/doc/passes.texi +++ b/gcc/doc/passes.texi @@ -18,7 +18,6 @@ where near complete. @menu * Parsing pass:: The language front end turns text into bits. -* Cilk Plus Transformation:: Transform Cilk Plus Code to equivalent C/C++. * Gimplification pass:: The bits are turned into something we can optimize. * Pass manager:: Sequencing the optimization passes. * Tree SSA passes:: Optimizations on a high-level representation. @@ -104,68 +103,6 @@ that is more descriptive than "rest_of". The middle-end will, at its option, emit the function and data definitions immediately or queue them for later processing. -@node Cilk Plus Transformation -@section Cilk Plus Transformation -@cindex CILK_PLUS - -If Cilk Plus generation (flag @option{-fcilkplus}) is enabled, all the Cilk -Plus code is transformed into equivalent C and C++ functions. Majority of this -transformation occurs toward the end of the parsing and right before the -gimplification pass. - -These are the major components to the Cilk Plus language extension: -@itemize @bullet -@item Array Notations: -During parsing phase, all the array notation specific information is stored in -@code{ARRAY_NOTATION_REF} tree using the function -@code{c_parser_array_notation}. During the end of parsing, we check the entire -function to see if there are any array notation specific code (using the -function @code{contains_array_notation_expr}). If this function returns -true, then we expand them using either @code{expand_array_notation_exprs} or -@code{build_array_notation_expr}. For the cases where array notations are -inside conditions, they are transformed using the function -@code{fix_conditional_array_notations}. The C language-specific routines are -located in @file{c/c-array-notation.c} and the equivalent C++ routines are in -the file @file{cp/cp-array-notation.c}. Common routines such as functions to -initialize built-in functions are stored in @file{array-notation-common.c}. - -@item Cilk keywords: -@itemize @bullet -@item @code{_Cilk_spawn}: -The @code{_Cilk_spawn} keyword is parsed and the function it contains is marked -as a spawning function. The spawning function is called the spawner. At -the end of the parsing phase, appropriate built-in functions are -added to the spawner that are defined in the Cilk runtime. The appropriate -locations of these functions, and the internal structures are detailed in -@code{cilk_init_builtins} in the file @file{cilk-common.c}. The pointers to -Cilk functions and fields of internal structures are described -in @file{cilk.h}. The built-in functions are described in -@file{cilk-builtins.def}. - -During gimplification, a new "spawn-helper" function is created. -The spawned function is replaced with a spawn helper function in the spawner. -The spawned function-call is moved into the spawn helper. The main function -that does these transformations is @code{gimplify_cilk_spawn} in -@file{c-family/cilk.c}. In the spawn-helper, the gimplification function -@code{gimplify_call_expr}, inserts a function call @code{__cilkrts_detach}. -This function is expanded by @code{builtin_expand_cilk_detach} located in -@file{c-family/cilk.c}. - -@item @code{_Cilk_sync}: -@code{_Cilk_sync} is parsed like a keyword. During gimplification, -the function @code{gimplify_cilk_sync} in @file{c-family/cilk.c}, will replace -this keyword with a set of functions that are stored in the Cilk runtime. -One of the internal functions inserted during gimplification, -@code{__cilkrts_pop_frame} must be expanded by the compiler and is -done by @code{builtin_expand_cilk_pop_frame} in @file{cilk-common.c}. - -@end itemize -@end itemize - -Documentation about Cilk Plus and language specification is provided under the -"Learn" section in @w{@uref{https://www.cilkplus.org}}. It is worth mentioning -that the current implementation follows ABI 1.1. - @node Gimplification pass @section Gimplification pass diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 7daca45..60b6b77 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -2116,9 +2116,6 @@ Target supports wide characters. @item automatic_stack_alignment Target supports automatic stack alignment. -@item cilkplus_runtime -Target supports the Cilk Plus runtime library. - @item cxa_atexit Target uses @code{__cxa_atexit}. |