This patch introduces an MLIR attribute to the OpenMP dialect representing the clauses that a 'requires' directive can define. The `OffloadModuleInterface` is also updated to provide methods to get and set a new dialect attribute `omp.requires`, to allow storing and using this information during the lowering stages to LLVM IR. Differential Revision: https://reviews.llvm.org/D147214