LLVM: lib/Target/SPIRV/SPIRVStructurizer.cpp File Reference (original) (raw)
Go to the source code of this file.
| Functions |
|
| static void |
partialOrderVisit (BasicBlock &Start, std::function< bool(BasicBlock *)> Op) |
| static const ConvergenceRegion * |
getRegionForHeader (const ConvergenceRegion *Node, BasicBlock *BB) |
| static BasicBlock * |
getExitFor (const ConvergenceRegion *CR) |
| static BasicBlock * |
getDesignatedMergeBlock (Instruction *I) |
| static BasicBlock * |
getDesignatedContinueBlock (Instruction *I) |
| static bool |
isDefinedAsSelectionMergeBy (BasicBlock &Header, BasicBlock &Merge) |
| static bool |
hasLoopMergeInstruction (BasicBlock &BB) |
| static bool |
isMergeInstruction (Instruction *I) |
| static SmallPtrSet< BasicBlock *, 2 > |
getHeaderBlocks (Function &F) |
| static SmallPtrSet< BasicBlock *, 2 > |
getMergeBlocks (Function &F) |
| static std::vector< Instruction * > |
getMergeInstructions (BasicBlock &BB) |
| static SmallPtrSet< BasicBlock *, 2 > |
getContinueBlocks (Function &F) |
| static void |
visit (BasicBlock &Start, std::function< bool(BasicBlock *)> op) |
| static void |
replaceIfBranchTargets (BasicBlock *BB, BasicBlock *OldTarget, BasicBlock *NewTarget) |
| static void |
replaceBranchTargets (BasicBlock *BB, BasicBlock *OldTarget, BasicBlock *NewTarget) |
|
INITIALIZE_PASS_BEGIN (SPIRVStructurizer, "spirv-structurizer", "structurize SPIRV", false, false) INITIALIZE_PASS_END(SPIRVStructurizer |
◆ BlockSet
◆ Edge
◆ getContinueBlocks()
◆ getDesignatedContinueBlock()
◆ getDesignatedMergeBlock()
◆ getExitFor()
◆ getMergeBlocks()
◆ getMergeInstructions()
◆ hasLoopMergeInstruction()
◆ INITIALIZE_PASS_BEGIN()
| INITIALIZE_PASS_BEGIN |
( |
SPIRVStructurizer |
, |
| "spirv-structurizer" |
, |
|
|
| "structurize SPIRV" |
, |
|
|
| false |
, |
|
|
| false |
) |
|
|
◆ isDefinedAsSelectionMergeBy()
◆ isMergeInstruction()
◆ partialOrderVisit()
◆ replaceBranchTargets()
◆ replaceIfBranchTargets()
◆ visit()
◆ false
◆ structurizer