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.


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

You want OpenMP support?

2010/8/3 vijay kumar <>

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


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

2010/8/4 vijay kumar <>

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.


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 <>

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.


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


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.



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 <>