This patch adds support for representing and registering OpenMP requires information in flang.
Current limitations:
- No support for the atomic_default_mem_order clause, as the relevant libomptarget flags structure cannot currently represent it.
- A call to the __tgt_register_requires() function will be generated regardless of the presence of a target region, because it can't be tested in its current state otherwise.
- Potentially necessary modifications to the handling of other directives depending on the specified clauses is left for future patches. The only code being currently generated is the registration of the flags on the OpenMP runtime.