LLVM 22.0.0git
SPIRVConvergenceRegionAnalysis.cpp File Reference
#include "SPIRVConvergenceRegionAnalysis.h"
#include "SPIRV.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/InitializePasses.h"
#include "llvm/Transforms/Utils/LoopSimplify.h"
#include <optional>
#include <queue>

Go to the source code of this file.

Namespaces

namespace  true

Macros

#define DEBUG_TYPE   "spirv-convergence-region-analysis"

Functions

 INITIALIZE_PASS_BEGIN (SPIRVConvergenceRegionAnalysisWrapperPass, "convergence-region", "SPIRV convergence regions analysis", true, true) INITIALIZE_PASS_END(SPIRVConvergenceRegionAnalysisWrapperPass
template<typename BasicBlockType, typename IntrinsicInstType>
std::optional< IntrinsicInstType * > true::getConvergenceTokenInternal (BasicBlockType *BB)
static ConvergenceRegionfindParentRegion (ConvergenceRegion *Start, BasicBlock *Entry)

Variables

convergence region
convergence SPIRV convergence regions analysis
convergence SPIRV convergence regions true

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "spirv-convergence-region-analysis"

Definition at line 25 of file SPIRVConvergenceRegionAnalysis.cpp.

Function Documentation

◆ findParentRegion()

ConvergenceRegion * findParentRegion ( ConvergenceRegion * Start,
BasicBlock * Entry )
static

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( SPIRVConvergenceRegionAnalysisWrapperPass ,
"convergence-region" ,
"SPIRV convergence regions analysis" ,
true ,
true  )

Variable Documentation

◆ analysis

convergence SPIRV convergence regions analysis

Definition at line 37 of file SPIRVConvergenceRegionAnalysis.cpp.

◆ region

◆ true

convergence SPIRV convergence regions true

Definition at line 38 of file SPIRVConvergenceRegionAnalysis.cpp.