gcc/ChangeLog: 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com> * builtins.c (is_builtin_name): Added a check for __cilkrts_detach and __cilkrts_pop_frame. If matched, then return true for built-in function name. (expand_builtin): Added BUILT_IN_CILK_DETACH and BUILT_IN_CILK_POP_FRAME case. * langhooks-def.h (lhd_install_body_with_frame_cleanup): New prototype. (lhs_cilk_detect_spawn): Likewise. (LANG_HOOKS_DECLS): Added LANG_HOOKS_CILKPLUS. (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): New #define. (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise. (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): Likewise. (LANG_HOOKS_CILKPLUS): Likewise. * tree.h (CILK_SPAWN_FN): Likewise. * builtin.def (DEF_CILK_BUILTIN_STUB): Likewise. * Makefile.in (C_COMMON_OBJS): Added c-family/cilk.o. (OBJS): Added cilk-common.o. (CILK_H): Added a new define. (gimplify.o): Added CILK_H into dependency list. (builtins.o): Likewise. (ipa-inline.o): Likewise. (ipa-inline-analysis.o): Likewise. (BUILTINS_DEF): Added cilk-builtins.def. * langhooks.c (lhd_install_body_with_frame_cleanup): New function. (lhd_cilk_detect_spawn): Likewise. * langhooks.h (lang_hooks_for_cilkplus): New struct. (struct lang_hooks): Added new field called "cilkplus." * cilk-common.c: New file. * cilk.h: Likewise. * cilk-builtins.def: Likewise. * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Added "__cilk" macro and set it to 200. * function.h (struct function::cilk_frame_decl): New field. (struct function::is_cilk_function): Likewise. (struct function::calls_cilk_spawn): Likewise. * gimplify.c (gimplify_call_expr): Added a check if the function call being gimplified is a spawn detach point. If so, then add pop_frame and detach function calls. (gimplify_expr): Added a CILK_SPAWN_STMT and CILK_SYNC_STMT case for gimplifying _Cilk_spawn and _Cilk_sync statements. (gimplify_return_expr): Added a check for _Cilk_spawn usage in function. If so, added a _Cilk_sync and gimplified it. (gimplify_modify_expr): Added a check for _Cilk_spawn in MODIFY and INIT_EXPRs. If so, then call gimplify_cilk_spawn. * ipa-inline-analysis (initialize_inline_failed): Prevent inlining of spawner function. (can_inline_edge_p): Prevent inling of spawnee function. * ira.c (ira_setup_eliminable_regset): Force usage of frame pointer for functions that use Cilk keywords. * tree-inline.h (struct copy_body_data::remap_var_for_cilk): New field. * tree-pretty-print.c (dump_generic_node): Added CILK_SPAWN_STMT and CILK_SYNC_STMT cases. * tree.def (DEFTREECODE): Added CILK_SPAWN_STMT and CILK_SYNC_STMT trees. * generic.texi (CILK_SPAWN_STMT): Added documentation for _Cilk_spawn. (CILK_SYNC_STMT): Added documentation for _Cilk_sync. * passes.texi (Cilk Keywords): New section that describes the compiler code changes for handling Cilk Keywords. gcc/c/ChangeLog: 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com> * c-decl.c (finish_function): Added a call for insert_cilk_frame when a spawning function is found. * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define. (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise. (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise. * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC case. (c_parser_postfix_expression): Added RID_CILK_SPAWN case. * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma expr. (c_finish_return): Added a check to reject _Cilk_spawn in return expression. (build_cilk_spawn): New function. (build_cilk_sync): Likewise. * Makefile.in (c-decl.o): Added cilk.h in dependency list. gcc/c-family/ChangeLog 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com> * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync fields. (c_define_builtins): Called cilk_init_builtins if Cilk Plus is enabled. * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC. (insert_cilk_frame): New prototype. (cilk_init_builtins): Likewise. (gimplify_cilk_spawn): Likewise. (c_cilk_install_body_w_frame_cleanup): Likewise. (cilk_detect_spawn_and_unwrap): Likewise. (cilk_set_spawn_marker): Likewise. (build_cilk_sync): Likewise. (build_cilk_spawn): Likewise. * cilk.c: New file. gcc/lto/ChangeLog 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com> * Make-lang.in (lto/lto-lang.o): Added cilk.h in dependency list. * lto-lang.c (lto_init): Added a call to cilk_init_builtins if Cilk Plus is enabled. gcc/testsuite/ChangeLog 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com> * c-c++-common/cilk-plus/CK/compound_cilk_spawn.c: New test. * c-c++-common/cilk-plus/CK/concec_cilk_spawn.c: Likewise. * c-c++-common/cilk-plus/CK/fib.c: Likewise. * c-c++-common/cilk-plus/CK/no_args_error.c: Likewise. * c-c++-common/cilk-plus/CK/spawnee_inline.c: Likewise. * c-c++-common/cilk-plus/CK/spawner_inline.c: Likewise. * c-c++-common/cilk-plus/CK/spawning_arg.c: Likewise. * c-c++-common/cilk-plus/CK/steal_check.c: Likewise. * c-c++-common/cilk-plus/CK/test__cilk.c: Likewise. * c-c++-common/cilk-plus/CK/varargs_test.c: Likewise. * c-c++-common/cilk-plus/CK/sync_wo_spawn.c: Likewise. * c-c++-common/cilk-plus/CK/invalid_spawn.c: Likewise. * c-c++-common/cilk-plus/CK/spawn_in_return.c: Likewise. * c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Likewise. * c-c++-common/cilk-plus/CK/fib_no_sync.c: Likewise. * c-c++-common/cilk-plus/CK/fib_no_return.c: Likewise. * gcc.dg/cilk-plus/cilk-plus.exp: Added support to run Cilk Keywords test stored in c-c++-common. Also, added the Cilk runtime's library to the ld_library_path. From-SVN: r204172
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
asan | Loading commit data... | |
cilk-plus | Loading commit data... | |
cpp | Loading commit data... | |
dfp | Loading commit data... | |
dwarf2 | Loading commit data... | |
gomp | Loading commit data... | |
guality | Loading commit data... | |
simulate-thread | Loading commit data... | |
tm | Loading commit data... | |
torture | Loading commit data... | |
ubsan | Loading commit data... | |
Wcast-qual-1.c | Loading commit data... | |
Wconversion-real.c | Loading commit data... | |
Wint-to-pointer-cast-1.c | Loading commit data... | |
Wint-to-pointer-cast-2.c | Loading commit data... | |
Wint-to-pointer-cast-3.c | Loading commit data... | |
Wpointer-arith-1.c | Loading commit data... | |
Wsequence-point-1.c | Loading commit data... | |
Wsizeof-pointer-memaccess1.c | Loading commit data... | |
Wsizeof-pointer-memaccess2.c | Loading commit data... | |
Wunused-local-typedefs.c | Loading commit data... | |
Wunused-var-1.c | Loading commit data... | |
Wunused-var-10.c | Loading commit data... | |
Wunused-var-11.c | Loading commit data... | |
Wunused-var-12.c | Loading commit data... | |
Wunused-var-13.c | Loading commit data... | |
Wunused-var-14.c | Loading commit data... | |
Wunused-var-2.c | Loading commit data... | |
Wunused-var-3.c | Loading commit data... | |
Wunused-var-4.c | Loading commit data... | |
Wunused-var-5.c | Loading commit data... | |
Wunused-var-6.c | Loading commit data... | |
Wunused-var-7.c | Loading commit data... | |
Wunused-var-8.c | Loading commit data... | |
Wunused-var-9.c | Loading commit data... | |
Wvarargs-2.c | Loading commit data... | |
Wvarargs.c | Loading commit data... | |
abi-bf.c | Loading commit data... | |
array-lit.c | Loading commit data... | |
asmgoto-1.c | Loading commit data... | |
asmgoto-2.c | Loading commit data... | |
asmgoto-3.c | Loading commit data... | |
asmgoto-4.c | Loading commit data... | |
attr-used-2.c | Loading commit data... | |
attr-used.c | Loading commit data... | |
builtin-offsetof.c | Loading commit data... | |
convert-vec-1.c | Loading commit data... | |
cxxbitfields-3.c | Loading commit data... | |
cxxbitfields-6.c | Loading commit data... | |
fmax-errors.c | Loading commit data... | |
fold-bitand-4.c | Loading commit data... | |
fold-divmul-1.c | Loading commit data... | |
init-vec-1.c | Loading commit data... | |
int128-1.c | Loading commit data... | |
int128-2.c | Loading commit data... | |
int128-types-1.c | Loading commit data... | |
opaque-vector.c | Loading commit data... | |
pr20000.c | Loading commit data... | |
pr20318.c | Loading commit data... | |
pr28656.c | Loading commit data... | |
pr33193.c | Loading commit data... | |
pr33763.c | Loading commit data... | |
pr36513-2.c | Loading commit data... | |
pr36513.c | Loading commit data... | |
pr41779.c | Loading commit data... | |
pr41935.c | Loading commit data... | |
pr42674.c | Loading commit data... | |
pr43690.c | Loading commit data... | |
pr43772.c | Loading commit data... | |
pr43942.c | Loading commit data... | |
pr44832.c | Loading commit data... | |
pr46562-2.c | Loading commit data... | |
pr46562.c | Loading commit data... | |
pr48418.c | Loading commit data... | |
pr51294.c | Loading commit data... | |
pr51712.c | Loading commit data... | |
pr51768.c | Loading commit data... | |
pr52177.c | Loading commit data... | |
pr52181.c | Loading commit data... | |
pr53633.c | Loading commit data... | |
pr54486.c | Loading commit data... | |
pr54988.c | Loading commit data... | |
pr55619.c | Loading commit data... | |
pr55771.c | Loading commit data... | |
pr56302.c | Loading commit data... | |
pr56566.c | Loading commit data... | |
pr56607.c | Loading commit data... | |
pr57793.c | Loading commit data... | |
raw-string-1.c | Loading commit data... | |
raw-string-10.c | Loading commit data... | |
raw-string-11.c | Loading commit data... | |
raw-string-12.c | Loading commit data... | |
raw-string-13.c | Loading commit data... | |
raw-string-14.c | Loading commit data... | |
raw-string-15.c | Loading commit data... | |
raw-string-16.c | Loading commit data... | |
raw-string-17.c | Loading commit data... | |
raw-string-18.c | Loading commit data... | |
raw-string-19.c | Loading commit data... | |
raw-string-2.c | Loading commit data... | |
raw-string-3.c | Loading commit data... | |
raw-string-4.c | Loading commit data... | |
raw-string-5.c | Loading commit data... | |
raw-string-6.c | Loading commit data... | |
raw-string-7.c | Loading commit data... | |
raw-string-8.c | Loading commit data... | |
raw-string-9.c | Loading commit data... | |
restrict-1.c | Loading commit data... | |
restrict-2.c | Loading commit data... | |
restrict-4.c | Loading commit data... | |
rotate-1.c | Loading commit data... | |
rotate-1a.c | Loading commit data... | |
rotate-2.c | Loading commit data... | |
rotate-2a.c | Loading commit data... | |
rotate-3.c | Loading commit data... | |
rotate-3a.c | Loading commit data... | |
rotate-4.c | Loading commit data... | |
rotate-4a.c | Loading commit data... | |
rotate-5.c | Loading commit data... | |
scal-to-vec1.c | Loading commit data... | |
scal-to-vec2.c | Loading commit data... | |
transparent-union-1.c | Loading commit data... | |
uninit-17.c | Loading commit data... | |
uninit-D-O0.c | Loading commit data... | |
uninit-D.c | Loading commit data... | |
uninit-E-O0.c | Loading commit data... | |
uninit-E.c | Loading commit data... | |
uninit-F-O0.c | Loading commit data... | |
uninit-F.c | Loading commit data... | |
uninit-G-O0.c | Loading commit data... | |
uninit-G.c | Loading commit data... | |
uninit-pr51010.c | Loading commit data... | |
vector-1.c | Loading commit data... | |
vector-2.c | Loading commit data... | |
vector-3.c | Loading commit data... | |
vector-4.c | Loading commit data... | |
vector-compare-1.c | Loading commit data... | |
vector-compare-2.c | Loading commit data... | |
vector-compare-3.c | Loading commit data... | |
vector-init-1.c | Loading commit data... | |
vector-init-2.c | Loading commit data... | |
vector-scalar-2.c | Loading commit data... | |
vector-scalar.c | Loading commit data... | |
vector-shift.c | Loading commit data... | |
vector-shift1.c | Loading commit data... | |
vector-shift3.c | Loading commit data... | |
vector-subscript-1.c | Loading commit data... | |
vector-subscript-2.c | Loading commit data... | |
vector-subscript-3.c | Loading commit data... | |
vla-1.c | Loading commit data... | |
warn-ommitted-condop.c | Loading commit data... |