|
LLVM 23.0.0git
|
Helper that contains information about regions we need to outline during finalization. More...
#include "llvm/Frontend/OpenMP/OMPIRBuilder.h"
Public Types | |
| using | PostOutlineCBTy = std::function<void(Function &)> |
Public Member Functions | |
| virtual LLVM_ABI | ~OutlineInfo ()=default |
| LLVM_ABI void | collectBlocks (SmallPtrSetImpl< BasicBlock * > &BlockSet, SmallVectorImpl< BasicBlock * > &BlockVector) |
| Collect all blocks in between EntryBB and ExitBB in both the given vector and set. | |
| virtual LLVM_ABI std::unique_ptr< CodeExtractor > | createCodeExtractor (ArrayRef< BasicBlock * > Blocks, bool ArgsInZeroAddressSpace, Twine Suffix=Twine("")) |
Create a CodeExtractor instance based on the information stored in this structure, the list of collected blocks from a previous call to collectBlocks and a flag stating whether arguments must be passed in address space 0. | |
| Function * | getFunction () const |
| Return the function that contains the region to be outlined. | |
Public Attributes | |
| PostOutlineCBTy | PostOutlineCB |
| BasicBlock * | EntryBB |
| BasicBlock * | ExitBB |
| BasicBlock * | OuterAllocBB |
| SmallVector< BasicBlock * > | OuterDeallocBBs |
| SmallVector< Value *, 2 > | ExcludeArgsFromAggregate |
| SetVector< Value * > | Inputs |
| SetVector< Value * > | Outputs |
| bool | FixUpNonEntryAllocas = false |
Helper that contains information about regions we need to outline during finalization.
Definition at line 2563 of file OMPIRBuilder.h.
| using llvm::OpenMPIRBuilder::OutlineInfo::PostOutlineCBTy = std::function<void(Function &)> |
Definition at line 2564 of file OMPIRBuilder.h.
|
virtualdefault |
References LLVM_ABI.
| void OpenMPIRBuilder::OutlineInfo::collectBlocks | ( | SmallPtrSetImpl< BasicBlock * > & | BlockSet, |
| SmallVectorImpl< BasicBlock * > & | BlockVector ) |
Collect all blocks in between EntryBB and ExitBB in both the given vector and set.
Definition at line 11519 of file OMPIRBuilder.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::empty(), EntryBB, ExitBB, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::successors().
Referenced by workshareLoopTargetCallback().
|
virtual |
Create a CodeExtractor instance based on the information stored in this structure, the list of collected blocks from a previous call to collectBlocks and a flag stating whether arguments must be passed in address space 0.
Definition at line 11537 of file OMPIRBuilder.cpp.
References OuterAllocBB, and llvm::Twine::str().
|
inline |
Return the function that contains the region to be outlined.
Definition at line 2589 of file OMPIRBuilder.h.
References EntryBB.
| BasicBlock* llvm::OpenMPIRBuilder::OutlineInfo::EntryBB |
Definition at line 2566 of file OMPIRBuilder.h.
Referenced by collectBlocks(), getFunction(), and workshareLoopTargetCallback().
| SmallVector<Value *, 2> llvm::OpenMPIRBuilder::OutlineInfo::ExcludeArgsFromAggregate |
Definition at line 2568 of file OMPIRBuilder.h.
| BasicBlock * llvm::OpenMPIRBuilder::OutlineInfo::ExitBB |
Definition at line 2566 of file OMPIRBuilder.h.
Referenced by collectBlocks(), and workshareLoopTargetCallback().
| bool llvm::OpenMPIRBuilder::OutlineInfo::FixUpNonEntryAllocas = false |
Definition at line 2571 of file OMPIRBuilder.h.
Definition at line 2569 of file OMPIRBuilder.h.
| BasicBlock * llvm::OpenMPIRBuilder::OutlineInfo::OuterAllocBB |
Definition at line 2566 of file OMPIRBuilder.h.
Referenced by createCodeExtractor().
| SmallVector<BasicBlock *> llvm::OpenMPIRBuilder::OutlineInfo::OuterDeallocBBs |
Definition at line 2567 of file OMPIRBuilder.h.
Definition at line 2569 of file OMPIRBuilder.h.
| PostOutlineCBTy llvm::OpenMPIRBuilder::OutlineInfo::PostOutlineCB |
Definition at line 2565 of file OMPIRBuilder.h.