[PATCH][PR c++/80038][6/7 Regression] Destroy temps for _Cilk_spawn calling in the child

Xi Ruoyao ryxi@stu.xidian.edu.cn
Fri Mar 24 06:34:00 GMT 2017


On 2017-03-24 05:26 +0800, Xi Ruoyao wrote:

> The patch has 500+ lines so I attach it.  ChangeLog is pasted here:

Damn it... I attached the draft of patch where some useless functions had
not been removed.

This time the attachment is correct.

> 2017-03-24  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
> 
> 	PR c++/80038
> 	* c-family/c-common.h (cilk_gimplify_call_params_in_spawned_fn,
> 	  cilk_install_body_pedigree_operations): Remove prototypes.
> 	* c-family/c-gimplify.c (c_gimplify_expr): Remove the calls to
> 	  the function cilk_gimplify_call_params_in_spawned_fn.
> 	* c-family/cilk.c: (cilk_set_spawn_marker): Mark the function
> 	  calls which should be detached.
> 	  (cilk_gimplify_call_params_in_spawned_fn,
> 	   cilk_install_body_pedigree_operations): Remove function.
> 	  (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
> 	  unwrapping.
> 	* c/c-typeck.c (cilk_install_body_with_frame_cleanup):
> 	  Don't add pedigree operation and detach call here.
> 	* cp/cp-cilkplus.c (cilk_install_body_with_frame_cleanup): Ditto.
> 	* cp/cp-gimplify.c (cilk_cp_gimplify_call_params_in_spawned_fn):
> 	  Remove function.
> 	  (cp_gimplify_expr): Remove the calls to the function
> 	  cilk_cp_gimplify_call_params_in_spawned_fn.
> 	* cp/semantics.c: Preserve the flag of function calls should
> 	  be detached.
> 	* cilk_common.c (expand_builtin_cilk_detach): Move pedigree
> 	  operations here.
> 	* gimplify.c (gimplify_cilk_detach): New static function.
> 	  (gimplify_call_expr, gimplify_modify_expr): Call it for the
> 	  function calls should be detached.
> 	* lto/lto-lang.c (lto_init): Set in_lto_p earlier.
> 	* tree-core.h: Document new macro EXPR_CILK_SPAWN.
> 	* tree.h: Add new macro EXPR_CILK_SPAWN.
> 	* testsuite/g++.dg/cilk-plus/CK/pr80038.cc: New test.
-- 
Xi Ruoyao <ryxi@stu.xidian.edu.cn>
School of Aerospace Science and Technology, Xidian University
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr80038.patch
Type: text/x-patch
Size: 22438 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20170324/b50cba73/attachment.bin>


More information about the Gcc-patches mailing list