Implementation manual of Intel OMP RTL

Hi all,

Having a request for CLANG-LLVM-OPENMP support for a STMicroelectrnoics proprietary core, we are planning to port the Intel OMP RTL. I am wondering if there is any implementation manual of this library.

In addition, since this is an additional target for this library after intel and ARM cores, maybe it’s time to think a bit to some code refactoring to support re-targeting of the library more friendly. In that sense, does anyone have some recommendations?

Best regards,

–Hervé Chauvet

Unfortunately there is no implementation manual. The manual provided describes the interface functions, (or, it should do), but not the details of the internal implementation.

If you have suggestions on how to refactor the code to make porting easier I’d be happy to hear them.

Thanks for the reply Jim,

Oh, bad news… I’ll have to go in depth in the source code by my own, I guess that there is nothing also on the build system itself…

I’ll analyze all that and probably come back with a proposal for code refactoring.

I just have two additional questions:

  • what is the reason for having two different repositories existing for this OpenMP Runtime Library (this one on llvm.org and the other one on github) ?

  • why is the arm part not available on github?

– Hervé

image003.png

Hervé CHAUVET | TINA: 042#6655 | Tel: +33 476586655 | Mobile: +33 616736859

UPD/SSCS/IQSE/CEC (Compiler Expertise Center)

If you happen to make any notes while exploring the code, please
share! (Or commit :slight_smile:

Dmitri

  • what is the reason for having two different repositories existing for this OpenMP Runtime Library (this one on llvm.org and the other one on github) ?

Where on github are you looking?

There’s a simple mirror at https://github.com/llvm-mirror/openmp which should be what it says (a mirror) of the code from

It’s also possible that someone has forked the code into github elsewhere, though I didn’t find one in a quick search. If there is a fork, you’d need to ask whoever forked it what it is, not me.

If all you are after is git access, there’s no need to use github;

% git clone http://llvm.org/git/openmp.git

should work fine.

  • why is the arm part not available on github?

Until I know where you’re looking I can’t answer. AFAICS the mirror (above) has ARM code in it.

My wife is away this weekend, so if the weather is bad I may try to knock up a quick document for you…

image003.png

  • what is the reason for having two different repositories existing for this OpenMP Runtime Library (this one on llvm.org and the other one on github) ?

Where on github are you looking?

There’s a simple mirror at https://github.com/llvm-mirror/openmp which should be what it says (a mirror) of the code from

It’s also possible that someone has forked the code into github elsewhere, though I didn’t find one in a quick search. If there is a fork, you’d need to ask whoever forked it what it is, >not me.

If all you are after is git access, there’s no need to use github;

% git clone http://llvm.org/git/openmp.git

should work fine.

  • why is the arm part not available on github?

Until I know where you’re looking I can’t answer. AFAICS the mirror (above) has ARM code in it.

[HC] This is my mistake! Both git repo are containing the same thing.

My wife is away this weekend, so if the weather is bad I may try to knock up a quick document for you…

[HC] This would be very nice, thanks :slight_smile:

– Hervé

image003.png

Hervé CHAUVET | TINA: 042#6655 | Tel: +33 476586655 | Mobile: +33 616736859

UPD/SSCS/IQSE/CEC (Compiler Expertise Center)