|
LLVM 23.0.0git
|
Captures attributes that affect generating LLVM-IR using the OpenMPIRBuilder and related classes. More...
#include "llvm/Frontend/OpenMP/OMPIRBuilder.h"
Public Attributes | |
| std::optional< bool > | IsTargetDevice |
| Flag to define whether to generate code for the role of the OpenMP host (if set to false) or device (if set to true) in an offloading context. | |
| std::optional< bool > | IsGPU |
| Flag for specifying if the compilation is done for an accelerator. | |
| std::optional< bool > | EmitLLVMUsedMetaInfo |
| Flag for specifying if LLVMUsed information should be emitted. | |
| std::optional< bool > | OpenMPOffloadMandatory |
| Flag for specifying if offloading is mandatory. | |
| std::optional< StringRef > | FirstSeparator |
| First separator used between the initial two parts of a name. | |
| std::optional< StringRef > | Separator |
| Separator used between all of the rest consecutive parts of s name. | |
| std::optional< omp::GV > | GridValue |
| SmallVector< Triple > | TargetTriples |
| When compilation is being done for the OpenMP host (i.e. | |
| unsigned | DefaultTargetAS = 0 |
| CallingConv::ID | RuntimeCC = llvm::CallingConv::C |
Captures attributes that affect generating LLVM-IR using the OpenMPIRBuilder and related classes.
Note that not all attributes are required for all classes or functions. In some use cases the configuration is not necessary at all, because because the only functions that are called are ones that are not dependent on the configuration.
Definition at line 105 of file OMPIRBuilder.h.
| OpenMPIRBuilderConfig::OpenMPIRBuilderConfig | ( | ) |
Definition at line 460 of file OMPIRBuilder.cpp.
| OpenMPIRBuilderConfig::OpenMPIRBuilderConfig | ( | bool | IsTargetDevice, |
| bool | IsGPU, | ||
| bool | OpenMPOffloadMandatory, | ||
| bool | HasRequiresReverseOffload, | ||
| bool | HasRequiresUnifiedAddress, | ||
| bool | HasRequiresUnifiedSharedMemory, | ||
| bool | HasRequiresDynamicAllocators ) |
Definition at line 463 of file OMPIRBuilder.cpp.
References IsGPU, IsTargetDevice, and OpenMPOffloadMandatory.
|
inline |
Definition at line 192 of file OMPIRBuilder.h.
References FirstSeparator, and isGPU().
|
inline |
Definition at line 176 of file OMPIRBuilder.h.
References DefaultTargetAS.
|
inline |
Definition at line 171 of file OMPIRBuilder.h.
| int64_t OpenMPIRBuilderConfig::getRequiresFlags | ( | ) | const |
Returns requires directive clauses as flags compatible with those expected by libomptarget.
Definition at line 496 of file OMPIRBuilder.cpp.
References hasRequiresFlags().
|
inline |
Definition at line 178 of file OMPIRBuilder.h.
References RuntimeCC.
| bool OpenMPIRBuilderConfig::hasRequiresDynamicAllocators | ( | ) | const |
Definition at line 492 of file OMPIRBuilder.cpp.
|
inline |
Definition at line 180 of file OMPIRBuilder.h.
Referenced by getRequiresFlags().
| bool OpenMPIRBuilderConfig::hasRequiresReverseOffload | ( | ) | const |
Definition at line 480 of file OMPIRBuilder.cpp.
| bool OpenMPIRBuilderConfig::hasRequiresUnifiedAddress | ( | ) | const |
Definition at line 484 of file OMPIRBuilder.cpp.
| bool OpenMPIRBuilderConfig::hasRequiresUnifiedSharedMemory | ( | ) | const |
Definition at line 488 of file OMPIRBuilder.cpp.
|
inline |
Definition at line 160 of file OMPIRBuilder.h.
References assert(), and IsGPU.
Referenced by firstSeparator(), and separator().
|
inline |
Definition at line 155 of file OMPIRBuilder.h.
References assert(), and IsTargetDevice.
Referenced by createOutlinedFunction(), and FixupDebugInfoForOutlinedFunction().
|
inline |
Definition at line 165 of file OMPIRBuilder.h.
References assert(), and OpenMPOffloadMandatory.
|
inline |
Definition at line 202 of file OMPIRBuilder.h.
|
inline |
Definition at line 217 of file OMPIRBuilder.h.
References DefaultTargetAS.
|
inline |
Definition at line 212 of file OMPIRBuilder.h.
References EmitLLVMUsedMetaInfo.
|
inline |
Definition at line 214 of file OMPIRBuilder.h.
References FirstSeparator.
|
inline |
Definition at line 216 of file OMPIRBuilder.h.
| void OpenMPIRBuilderConfig::setHasRequiresDynamicAllocators | ( | bool | Value | ) |
Definition at line 522 of file OMPIRBuilder.cpp.
| void OpenMPIRBuilderConfig::setHasRequiresReverseOffload | ( | bool | Value | ) |
Definition at line 501 of file OMPIRBuilder.cpp.
| void OpenMPIRBuilderConfig::setHasRequiresUnifiedAddress | ( | bool | Value | ) |
Definition at line 508 of file OMPIRBuilder.cpp.
| void OpenMPIRBuilderConfig::setHasRequiresUnifiedSharedMemory | ( | bool | Value | ) |
Definition at line 515 of file OMPIRBuilder.cpp.
|
inline |
Definition at line 211 of file OMPIRBuilder.h.
References IsGPU.
|
inline |
Definition at line 210 of file OMPIRBuilder.h.
References IsTargetDevice.
|
inline |
Definition at line 213 of file OMPIRBuilder.h.
References OpenMPOffloadMandatory.
|
inline |
Definition at line 218 of file OMPIRBuilder.h.
References RuntimeCC.
|
inline |
Definition at line 215 of file OMPIRBuilder.h.
References Separator.
| unsigned llvm::OpenMPIRBuilderConfig::DefaultTargetAS = 0 |
Definition at line 142 of file OMPIRBuilder.h.
Referenced by getDefaultTargetAS(), and setDefaultTargetAS().
| std::optional<bool> llvm::OpenMPIRBuilderConfig::EmitLLVMUsedMetaInfo |
Flag for specifying if LLVMUsed information should be emitted.
Definition at line 124 of file OMPIRBuilder.h.
Referenced by setEmitLLVMUsed().
| std::optional<StringRef> llvm::OpenMPIRBuilderConfig::FirstSeparator |
First separator used between the initial two parts of a name.
Definition at line 130 of file OMPIRBuilder.h.
Referenced by firstSeparator(), and setFirstSeparator().
| std::optional<omp::GV> llvm::OpenMPIRBuilderConfig::GridValue |
Definition at line 135 of file OMPIRBuilder.h.
Referenced by getGridValue(), and setGridValue().
| std::optional<bool> llvm::OpenMPIRBuilderConfig::IsGPU |
Flag for specifying if the compilation is done for an accelerator.
It is set according to the architecture of the target triple and currently only true when targeting AMDGPU or NVPTX. Today, these targets can only perform the role of an OpenMP target device, so IsTargetDevice must also be true if IsGPU is true. This restriction might be lifted if an accelerator- like target with the ability to work as the OpenMP host is added, or if the capabilities of the currently supported GPU architectures are expanded.
Definition at line 121 of file OMPIRBuilder.h.
Referenced by isGPU(), OpenMPIRBuilderConfig(), and setIsGPU().
| std::optional<bool> llvm::OpenMPIRBuilderConfig::IsTargetDevice |
Flag to define whether to generate code for the role of the OpenMP host (if set to false) or device (if set to true) in an offloading context.
It is set when the -fopenmp-is-target-device compiler frontend option is specified.
Definition at line 111 of file OMPIRBuilder.h.
Referenced by isTargetDevice(), OpenMPIRBuilderConfig(), and setIsTargetDevice().
| std::optional<bool> llvm::OpenMPIRBuilderConfig::OpenMPOffloadMandatory |
Flag for specifying if offloading is mandatory.
Definition at line 127 of file OMPIRBuilder.h.
Referenced by OpenMPIRBuilderConfig(), openMPOffloadMandatory(), and setOpenMPOffloadMandatory().
| CallingConv::ID llvm::OpenMPIRBuilderConfig::RuntimeCC = llvm::CallingConv::C |
Definition at line 144 of file OMPIRBuilder.h.
Referenced by getRuntimeCC(), and setRuntimeCC().
| std::optional<StringRef> llvm::OpenMPIRBuilderConfig::Separator |
Separator used between all of the rest consecutive parts of s name.
Definition at line 132 of file OMPIRBuilder.h.
Referenced by separator(), and setSeparator().
| SmallVector<Triple> llvm::OpenMPIRBuilderConfig::TargetTriples |
When compilation is being done for the OpenMP host (i.e.
IsTargetDevice = / false), this contains the list of offloading triples associated, if any.
Definition at line 139 of file OMPIRBuilder.h.