llvm::OpenMPIRBuilderConfig

Configuration affecting OpenMP LLVM-IR generation.

Synopsis

Declared in <llvm/Frontend/OpenMP/OMPIRBuilder.h>

class OpenMPIRBuilderConfig;

Description

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.

Member Functions

NameDescription
OpenMPIRBuilderConfig [constructor]Constructors
firstSeparator Return the separator between the first and second name components.
getDefaultTargetAS Return the default target address space.
getGridValue Return the configured GPU grid values.
getRequiresFlags Returns requires directive clauses as flags compatible with those expected by libomptarget.
getRuntimeCC Return the calling convention for OpenMP runtime functions.
hasNoSignedWrap Return whether no-signed-wrap should be added to induction arithmetic.
hasRequiresDynamicAllocators Return true when dynamic_allocators is present in requires.
hasRequiresFlags Return true when any requires-clause flag has been set.
hasRequiresReverseOffload Return true when reverse_offload is present in requires.
hasRequiresUnifiedAddress Return true when unified_address is present in requires.
hasRequiresUnifiedSharedMemory Return true when unified_shared_memory is present in requires.
isGPU Return whether the compilation target is a GPU accelerator.
isTargetDevice Return whether code is being generated for an OpenMP device.
openMPOffloadMandatory Return whether offloading is mandatory.
separator Return the separator between subsequent name components.
setDefaultTargetAS Set the default target address space.
setEmitLLVMUsed Set whether LLVM used metadata should be emitted.
setFirstSeparator Set the separator between the first and second name components.
setGridValue Set the GPU grid values for the active target.
setHasRequiresDynamicAllocators Record whether dynamic_allocators is present in requires.
setHasRequiresReverseOffload Record whether reverse_offload is present in requires.
setHasRequiresUnifiedAddress Record whether unified_address is present in requires.
setHasRequiresUnifiedSharedMemory Record whether unified_shared_memory is present in requires.
setIsGPU Set whether the compilation target is a GPU accelerator.
setIsTargetDevice Set whether code is generated for an OpenMP device.
setNoSignedWrap Enable or disable no-signed-wrap on induction arithmetic.
setOpenMPOffloadMandatory Set whether offloading is mandatory.
setRuntimeCC Set the calling convention for OpenMP runtime functions.
setSeparator Set the separator between subsequent name components.

Data Members

NameDescription
DefaultTargetAS Default LLVM address space for the active target.
EmitLLVMUsedMetaInfo Whether to emit LLVM used metadata for offloading symbols.
FirstSeparator First separator used between the initial two parts of a name.
GridValue GPU grid values for the active target.
IsGPU Whether the compilation target is a GPU accelerator.
IsTargetDevice Whether to generate code for an OpenMP device rather than the host.
NoSignedWrap Whether to add the no-signed-wrap flag to loop induction arithmetic.
OpenMPOffloadMandatory Whether offloading is mandatory for this compilation.
RuntimeCC Calling convention used for OpenMP runtime functions.
Separator Separator used between all of the rest consecutive parts of s name.
TargetTriples When compilation is being done for the OpenMP host (i.e. `IsTargetDevice = false`), this contains the list of offloading triples associated, if any.