[LLVMdev] [RFC] Parallelization metadata and intrinsics in LLVM (for OpenMP, etc.)

Sanjoy Das
Tue, 02 Oct 2012 15:24:03 -0000

Hi,

> constructs (e.g., parallel regions) and semantics.  LLVM is a language-
> neutral IR and infrastructure and OpenMP-specific concepts should not

This is exactly the reason I proposed [1] -- mirroring the openmp
directives in LLVM IR doesn't seem very elegant.  The parallelization
information in the IR should be general and orthogonal.

I do realize that boxing the loops into procedures in the frontend
will initially inhibit loop optimizations, but that can be resolved
with some work.  Ideally, I'd like to have a different class
(ParallelLoop, maybe) altogether representing parallel loops and make
the relevant passes aware of it.  More work, yes, but I think such an
approach will pay off eventually.

[1] http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-September/053798.html
--
Sanjoy Das