Adding a conversion pattern for the parallel Operation. This will help the conversion of parallel operation with standard dialect to parallel operation with llvm dialect. The type conversion of the block arguments in a parallel region is controlled by the pattern for the parallel Operation. Without this pattern, a parallel Operation with block arguments cannot be converted from standard to LLVM dialect. Other OpenMP operations without regions are marked as legal. When the translation of new OpenMP operations with regions are added then patterns for these operations can also be added.
This conversion uses all the standard to llvm patterns. Patterns of other dialects can be added later if needed.
See discussion in https://llvm.discourse.group/t/about-using-omp-dialect-in-mlir/1518/9
Are these includes necessary? I would expect that forward declarations would be enough.