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::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 3013 of file OMPIRBuilder.h.
#define OMP_FUNCTION_TYPE | ( | VarName, | |
IsVarArg, | |||
ReturnType, | |||
... | |||
) |
Definition at line 3016 of file OMPIRBuilder.h.
#define OMP_STRUCT_TYPE | ( | VarName, | |
StrName, | |||
... | |||
) |
Definition at line 3019 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 3012 of file OMPIRBuilder.h.