One Hat Cyber Team
Your IP :
216.73.216.216
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
include
/
llvm
/
Frontend
/
OpenMP
/
View File Name :
OMPAssume.h
//===- OpenMP/OMPAssume.h --- OpenMP assumption helper functions - C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// /// \file /// /// This file provides helper functions and classes to deal with OpenMP /// assumptions, e.g., as used by `[begin/end] assumes` and `assume`. /// //===----------------------------------------------------------------------===// #ifndef LLVM_FRONTEND_OPENMP_OMPASSUME_H #define LLVM_FRONTEND_OPENMP_OMPASSUME_H #include "llvm/ADT/StringRef.h" namespace llvm { namespace omp { /// Helper to describe assume clauses. struct AssumptionClauseMappingInfo { /// The identifier describing the (beginning of the) clause. llvm::StringLiteral Identifier; /// Flag to determine if the identifier is a full name or the start of a name. bool StartsWith; /// Flag to determine if a directive lists follows. bool HasDirectiveList; /// Flag to determine if an expression follows. bool HasExpression; }; /// All known assume clauses. static constexpr AssumptionClauseMappingInfo AssumptionClauseMappings[] = { #define OMP_ASSUME_CLAUSE(Identifier, StartsWith, HasDirectiveList, \ HasExpression) \ {Identifier, StartsWith, HasDirectiveList, HasExpression}, #include "llvm/Frontend/OpenMP/OMPKinds.def" }; inline std::string getAllAssumeClauseOptions() { std::string S; for (const AssumptionClauseMappingInfo &ACMI : AssumptionClauseMappings) S += (S.empty() ? "'" : "', '") + ACMI.Identifier.str(); return S + "'"; } } // namespace omp } // namespace llvm #endif // LLVM_FRONTEND_OPENMP_OMPASSUME_H