Cilk Plus patch for gcc 4.7

Cilk Plus patch for gcc 4.7


There's now an open source implementation of Intel Cilk Plus based on gcc 4.7.

Information on how to contribute is at:

Source is at:

10 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Thanks Intel, good move!
I've tried compiling gcc cilkplus 4.7 latest SVN on MacOSX, both 10.6 and 10.7, it fails, MacOSX supporting only weak object references in it's Mach-O files it seems.
On debian Linux 6.0 it went fine, when *NOT* trying to compile against libppl and libcloog, to take advantage of graphite loop optimizations. otherwise (trying to have graphite activated), after bootstrap phase, a configure script die because xgcc does not recognize the capital V option (-V).Regards.Philippe, Lausanne, Switzerland.

Oops a bug, when using -O or -O2 switch, the following code :-- 8< --#include #include int fib (int n) { if (n<2) return n; else { int x, y; x = cilk_spawn fib (n-1); y = cilk_spawn fib (n-2); cilk_sync; return (x+y); }}int main (int argc, char *argv[]) { int n, result; n = atoi(argv[1]); result = cilk_spawn fib(n); cilk_sync; printf ("Result: %d\n", result); return 0;}-- 8< --/opt/cilkplus/bin/gcc -pthread -O -o fib fib-cilk.c -lcilkrtsgives:fib-cilk.c: In function main:fib-cilk.c:27:1: error: definition in block 4 does not dominate use in block 3for SSA_NAME: n_21(ab) in statement:n_6(ab) = PHI PHI argumentn_21(ab)for PHI noden_6(ab) = PHI fib-cilk.c:27:1: internal compiler error: verify_ssa failedPlease submit a full bug report,with preprocessed source if appropriate.See for instructions.without -O or -O2 it build fine.


Thanks for the above(fib) bug, which is under investigation. Also, the first release was for Linux, but the Intel Cilk Plus Support for Mac OS* X is forthcoming soon. I'll keep you updated as soon as it becomes available.


Hello Philippe,
Thank you very much for your post. Can we use the example code you posted aboveas part of the cilk-plus test suite in GCC?


Balaji V. Iyer.

I guess so, it comes out of the old MIT cilk 5.4.6 project documentation,, licensed GPL, but about licensing of an example in the documentation ?? I dunno.

Hello Philippe,
We have send a new patch to the gcc-patches mailing list that should fix this problem. Please let me know otherwise.


Balaji V. Iyer.

Hello Balaji,with this second patch, which you seem to have pushed on SVN some hours ago, the build on latest linux debian dies in libcilkrts, while configuring it, with the following errors in config.log:g++: error: unrecognized command line option '-funconfigured-libstdc++-v3'the same error with or without graphite loop optim enable in the gcc build (ppl, cloog).I don't know enough of gcc internals to be of any more help there.I've emailed with the full report.Regard.

Hi Phillipe,

We were able to get it successfully built and installed in Ubuntu. We will try to reproduce the problem and get back to you. In the meantime, can you please tell me yourOS version (along with32 or 64 bit), and the versions of the following tools;

1) flex

2) bison

4) texinfo

6) GCC

7) autogen

8) gmake

9) automake


Balaji V. Iyer.

This is a debian stable, aka "squeeze" 6.0 box, x86_64/amd64philou@lenix:~$ gcc -vUsing built-in specs.Target: x86_64-linux-gnuConfigured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnuThread model: posixgcc version 4.4.5 (Debian 4.4.5-8)flex: 2.5.35-10bison: 1:2.4.1.dfsg-3texinfo: 4.13a.dfsg.1-6gcc: 4.4.5-8make: 3.81-8automake: 1:1.11.1-1autoconf: 2.67-2libtool: 2.2.6b-2autotools-dev (incl. : 20100122.1

Leave a Comment

Please sign in to add a comment. Not a member? Join today