[RFC] OpenMP Representation in LLVM IR

OpenMP is as low-level as loop nest optimizations or inlining. There is nothing about it that would make it not fit in the LLVM's model.

As for reasons, here are two:
1. Implementing parallelization directives in the IR would allow multiple front-ends to use the same interface to express SMP semantics without having each one of them to do the actual implementation.

2. Having the paralellization infrastructure implemented in LLVM would allow auto-parallelization to be added at some point without adding a new parallelization infrastructure to the optimizer (on top of what the front-ends would have already implemented).

-Krzysztof