diff gcc/doc/passes.texi @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
line wrap: on
line diff
--- a/gcc/doc/passes.texi	Fri Oct 27 22:46:09 2017 +0900
+++ b/gcc/doc/passes.texi	Thu Oct 25 07:37:49 2018 +0900
@@ -1,6 +1,6 @@
 @c markers: BUG TODO
 
-@c Copyright (C) 1988-2017 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2018 Free Software Foundation, Inc.
 @c This is part of the GCC manual.
 @c For copying conditions, see the file gcc.texi.
 
@@ -18,7 +18,6 @@
 
 @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 @@
 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
 
@@ -981,11 +918,10 @@
 
 This is run after final because it must output the stack slot offsets
 for pseudo registers that did not get hard registers.  Source files
-are @file{dbxout.c} for DBX symbol table format, @file{sdbout.c} for
-SDB symbol table format, @file{dwarfout.c} for DWARF symbol table
-format, files @file{dwarf2out.c} and @file{dwarf2asm.c} for DWARF2
-symbol table format, and @file{vmsdbgout.c} for VMS debug symbol table
-format.
+are @file{dbxout.c} for DBX symbol table format, @file{dwarfout.c} for
+DWARF symbol table format, files @file{dwarf2out.c} and @file{dwarf2asm.c}
+for DWARF2 symbol table format, and @file{vmsdbgout.c} for VMS debug
+symbol table format.
 
 @end itemize