HomePhabricator

[CodeGen] LLVM OpenMP Backend.

Authored by Meinersbur on Mar 18 2019, 8:18 PM.

Description

[CodeGen] LLVM OpenMP Backend.

The ParallelLoopGenerator class is changed such that GNU OpenMP specific
code was removed, allowing to use it as super class in a
template-pattern. Therefore, the code has been reorganized and one may
not use the ParallelLoopGenerator directly anymore, instead specific
implementations have to be provided. These implementations contain the
library-specific code. As such, the "GOMP" (code completely taken from
the existing backend) and "KMP" variant were created.

For "check-polly" all tests that involved "GOMP": equivalents were added
that test the new functionalities, like static scheduling and different
chunk sizes. "docs/UsingPollyWithClang.rst" shows how the alternative
backend may be used.

Patch by Michael Halkenhäuser <michaelhalk@web.de>

Differential Revision: https://reviews.llvm.org/D59100

llvm-svn: 356434

Details

Committed
MeinersburMar 18 2019, 8:18 PM
Differential Revision
Restricted Differential Revision
Parents
rGb9b05100c567: Factor out repeated code parsing and concatenating header-names from tokens.
Branches
Unknown
Tags
Unknown