HomePhabricator

[flang][driver] Add support for -fopenmp and -fopenacc

Authored by FarisRehman on Feb 10 2021, 1:24 AM.

Description

[flang][driver] Add support for -fopenmp and -fopenacc

Add support for the following options:

  • -fopenmp
  • -fopenacc

Update OpenMP and OpenACC semantics tests to use the new driver if it is built, otherwise use f18.
OpenMP tests that include use omp_lib or run test_symbols.sh have not been updated as they require options -intrinsic-module-directory and -funparse-with-symbols which are currently not implemented in the new driver.
Similarly OpenACC tests that run test_symbols.sh have not been updated.

This patch also moves semanticsContext to CompilerInvocation and creates it in CompilerInvocation#setSemanticsOpts so that the semantics context can use Fortran::parser::Options#features.

Summary of changes:

  • Move semanticsContext to CompilerInvocation.h
  • Update OpenMP and OpenACC semantics tests that do not rely on -intrinsic-module-directory and -funparse-with-symbols to use %flang

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