regarding multicore support for LLVM

Hi all,
I am new to this LLVM. I went through the documenation of LLVM but I didn’t find any support for Multicore. Is there any such possibility where multicore architecture can be exploited using LLVM.

Thanks
Vijay

It depends on what you mean by "exploited".

LLVM can generate multi-threaded code and the JIT can run multi-threaded code.

There are currently no passes that will automatically parallelize code
(that I know of).

- Michael Spencer

Multicore?
You want OpenMP support?

2010/8/3 vijay kumar <vijaygbvv@gmail.com>

Automagic vectorization and automagic workload partitioning among hybrid
multicore platforms too! :slight_smile: :slight_smile:

-scooter

It is so difficult …
Which FE? It need BE support? I didn’t get it.

2010/8/4 vijay kumar <vijaygbvv@gmail.com>

llvm-gcc has some support for OpenMP via the atomic built-ins. It's largely untested. I ran the tests a few days ago to test something, but that's about it - and has some bugs. clang does not currently have support for OpenMP.

You would use the llvm-gcc support the same way you would the gcc support.

-eric

I’m using Clang but not llvm-gcc. Now, I get it.
Maybe Clang will support it soon, but I think it have nothing to do with BE…

2010/8/4 Eric Christopher <echristo@apple.com>

The constructs need to be lowered to something that the backend understands.

And, as far as I know, no one is working on OpenMP in clang. There is support
for Blocks though which works very well.

-eric

There was a mail on cfe-dev a few days ago from someone who is
apparently working on it.

Sebastian

One possibility that might give you parallel code during the next year is polly [1]. It can be used as an interface to tools that do automatic parallelization like loopo or pluto. At the moment this is more a research tool than usable for daily optimizations, but this hopefully changes soon.
The mid term goal is to drive vectorization and openmp parallelism with polly.

Furthermore I know of at least one project working on OpenMP support for clang, which is unfortunately not public. I tried to ping the guys to check if they are interested in giving it back to LLVM.

Tobi

[1] http://wiki.llvm.org/Polyhedral_optimization_framework

make Clang work with OpenMP is a great project…
It need a OpenMP expert and a LLVM expert and a Clang expert.
parse must know OpenMP and translate them into OpenMP calls in LLVM way…

2010/8/4 Eric Christopher <echristo@apple.com>