Skip to content

Clang frontend to Tapir Compiler, includes implementation of Cilk language in frontend

License

Notifications You must be signed in to change notification settings

wsmoses/Tapir-Clang

Folders and files

NameName
Last commit message
Last commit date
Sep 27, 2012
Jan 16, 2019
Jan 15, 2019
Mar 15, 2019
Dec 20, 2018
Oct 22, 2019
Oct 22, 2019
Jan 3, 2019
Nov 17, 2019
Jun 5, 2019
Jan 25, 2019
Jan 11, 2019
Jan 11, 2019
Nov 27, 2017
Sep 2, 2013
Mar 20, 2018
Dec 3, 2018
Jun 3, 2019
Nov 30, 2018
Nov 20, 2015
Jan 15, 2019
Jul 11, 2007
Dec 4, 2018
Jun 3, 2019
Oct 21, 2017

Repository files navigation

Cilk-Clang

This version of Clang supports the _Cilk_spawn, _Cilk_sync, and _Cilk_for keywords from Cilk. In particular, this version of Clang supports the use of _Cilk_spawn before a function call in a statement, an assignment, or a declaration, as in the following examples:

_Cilk_spawn foo(n);
x = _Cilk_spawn foo(n);
int x = _Cilk_spawn foo(n);

When spawning a function call, the call arguments and function arguments are evaluated before the spawn occurs. When spawning an assignment or declaration, the LHS is also evaluated before the spawn occurs.

For convenience, this version of Clang allows _Cilk_spawn to spawn an arbitrary statement, as follows:

_Cilk_spawn { x = foo(n); }

Please use this syntax with caution! When spawning an arbitrary statement, the spawn occurs before the evaluation of any part of the spawned statement. Furthermore, some statements, such as goto, are not legal to spawn. In the future, we will add checks to catch illegal uses of _Cilk_spawn.

About

Clang frontend to Tapir Compiler, includes implementation of Cilk language in frontend

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published