LLVM 20.0.0git
|
#include "llvm/Analysis/MemorySSAUpdater.h"
#include "llvm/Frontend/Atomic/Atomic.h"
#include "llvm/Frontend/OpenMP/OMPConstants.h"
#include "llvm/Frontend/OpenMP/OMPGridValues.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Allocator.h"
#include "llvm/TargetParser/Triple.h"
#include <forward_list>
#include <map>
#include <optional>
#include "llvm/Frontend/OpenMP/OMPKinds.def"
Go to the source code of this file.
Classes | |
class | llvm::OpenMPIRBuilderConfig |
Captures attributes that affect generating LLVM-IR using the OpenMPIRBuilder and related classes. More... | |
struct | llvm::TargetRegionEntryInfo |
Data structure to contain the information needed to uniquely identify a target entry. More... | |
class | llvm::OffloadEntriesInfoManager |
Class that manages information about offload code regions and data. More... | |
class | llvm::OffloadEntriesInfoManager::OffloadEntryInfo |
Base class of the entries info. More... | |
class | llvm::OffloadEntriesInfoManager::OffloadEntryInfoTargetRegion |
Target region entries info. More... | |
class | llvm::OffloadEntriesInfoManager::OffloadEntryInfoDeviceGlobalVar |
Device global variable entries info. More... | |
class | llvm::OpenMPIRBuilder |
An interface to create LLVM-IR for OpenMP directives. More... | |
class | llvm::OpenMPIRBuilder::AtomicInfo |
struct | llvm::OpenMPIRBuilder::FinalizationInfo |
struct | llvm::OpenMPIRBuilder::LocationDescription |
Description of a LLVM-IR insertion point (IP) and a debug/source location (filename, line, column, ...). More... | |
struct | llvm::OpenMPIRBuilder::DependData |
A struct to pack the relevant information for an OpenMP depend clause. More... | |
struct | llvm::OpenMPIRBuilder::ReductionInfo |
Information about an OpenMP reduction. More... | |
struct | llvm::OpenMPIRBuilder::CopyOptionsTy |
struct | llvm::OpenMPIRBuilder::OutlineInfo |
Helper that contains information about regions we need to outline during finalization. More... | |
struct | llvm::OpenMPIRBuilder::MapperAllocas |
struct | llvm::OpenMPIRBuilder::TargetDataRTArgs |
Container for the arguments used to pass data to the runtime library. More... | |
struct | llvm::OpenMPIRBuilder::TargetKernelDefaultAttrs |
Container to pass the default attributes with which a kernel must be launched, used to set kernel attributes and populate associated static structures. More... | |
struct | llvm::OpenMPIRBuilder::TargetKernelRuntimeAttrs |
Container to pass LLVM IR runtime values or constants related to the number of teams and threads with which the kernel must be launched, as well as the trip count of the loop, if it is an SPMD or Generic-SPMD kernel. More... | |
struct | llvm::OpenMPIRBuilder::TargetKernelArgs |
Data structure that contains the needed information to construct the kernel args vector. More... | |
class | llvm::OpenMPIRBuilder::TargetDataInfo |
Struct that keeps the information that should be kept throughout a 'target data' region. More... | |
struct | llvm::OpenMPIRBuilder::MapInfosTy |
This structure contains combined information generated for mappable clauses, including base pointers, pointers, sizes, map types, user-defined mappers, and non-contiguous information. More... | |
struct | llvm::OpenMPIRBuilder::MapInfosTy::StructNonContiguousInfo |
struct | llvm::OpenMPIRBuilder::AtomicOpValue |
a struct to pack relevant information while generating atomic Ops More... | |
class | llvm::CanonicalLoopInfo |
Class to represented the control flow structure of an OpenMP canonical loop. More... | |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
#define | OMP_TYPE(VarName, InitValue) Type *VarName = nullptr; |
Declarations for LLVM-IR types (simple, array, function and structure) are generated below. | |
#define | OMP_ARRAY_TYPE(VarName, ElemTy, ArraySize) |
#define | OMP_FUNCTION_TYPE(VarName, IsVarArg, ReturnType, ...) |
#define | OMP_STRUCT_TYPE(VarName, StrName, ...) |
Functions | |
void | llvm::spliceBB (IRBuilderBase::InsertPoint IP, BasicBlock *New, bool CreateBranch) |
Move the instruction after an InsertPoint to the beginning of another BasicBlock. | |
void | llvm::spliceBB (IRBuilder<> &Builder, BasicBlock *New, bool CreateBranch) |
Splice a BasicBlock at an IRBuilder's current insertion point. | |
BasicBlock * | llvm::splitBB (IRBuilderBase::InsertPoint IP, bool CreateBranch, llvm::Twine Name={}) |
Split a BasicBlock at an InsertPoint, even if the block is degenerate (missing the terminator). | |
BasicBlock * | llvm::splitBB (IRBuilderBase &Builder, bool CreateBranch, llvm::Twine Name={}) |
Split a BasicBlock at Builder's insertion point, even if the block is degenerate (missing the terminator). | |
BasicBlock * | llvm::splitBB (IRBuilder<> &Builder, bool CreateBranch, llvm::Twine Name) |
Split a BasicBlock at Builder's insertion point, even if the block is degenerate (missing the terminator). | |
BasicBlock * | llvm::splitBBWithSuffix (IRBuilderBase &Builder, bool CreateBranch, llvm::Twine Suffix=".split") |
Like splitBB, but reuses the current block's name for the new name. | |
#define OMP_ARRAY_TYPE | ( | VarName, | |
ElemTy, | |||
ArraySize | |||
) |
Definition at line 3051 of file OMPIRBuilder.h.
#define OMP_FUNCTION_TYPE | ( | VarName, | |
IsVarArg, | |||
ReturnType, | |||
... | |||
) |
Definition at line 3054 of file OMPIRBuilder.h.
#define OMP_STRUCT_TYPE | ( | VarName, | |
StrName, | |||
... | |||
) |
Definition at line 3057 of file OMPIRBuilder.h.
#define OMP_TYPE | ( | VarName, | |
InitValue | |||
) | Type *VarName = nullptr; |
Declarations for LLVM-IR types (simple, array, function and structure) are generated below.
Their names are defined and used in OpenMPKinds.def. Here we provide the declarations, the initializeTypes function will provide the values.
{
Definition at line 3050 of file OMPIRBuilder.h.