This patch adds the -fopenmp-is-device flag to Flang's FC1 and also
links it up to the application of an attribute to the mlir builtin.module
on lowering. Indiciating whether the module is for host or device.
This omp.is_device module attribute is a light weight adhoc attribute
with noconcrete ODS or class specification, similar to FIR and LLVM's
data_layout, defaultkind and kindmap's. Its intent is simply to carry
information for the moment, it affects transformations (or will in the
future) but does no transformations itself.
This patch currently does not add the fopenmp-targets flag,
e.g. amdgcn-amd-amdhsa=amdgcn-amd-amdhsa which in Clang
populates the cc1 commands with -fopenmp-is-device, so the only
way to utilise the -fopenmp-is-device flag is to directly use -fc1 with flang-new.