LLVM 19.0.0git
Macros | Functions | Variables
StructurizeCFG.cpp File Reference
#include "llvm/Transforms/Scalar/StructurizeCFG.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/SCCIterator.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/InstructionSimplify.h"
#include "llvm/Analysis/RegionInfo.h"
#include "llvm/Analysis/RegionIterator.h"
#include "llvm/Analysis/RegionPass.h"
#include "llvm/Analysis/UniformityAnalysis.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CFG.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Use.h"
#include "llvm/IR/Value.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/Transforms/Utils/SSAUpdater.h"
#include <algorithm>
#include <cassert>
#include <utility>

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "structurizecfg"
 

Functions

 INITIALIZE_PASS_BEGIN (StructurizeCFGLegacyPass, "structurizecfg", "Structurize the CFG", false, false) INITIALIZE_PASS_END(StructurizeCFGLegacyPass
 
static bool hasOnlyUniformBranches (Region *R, unsigned UniformMDKindID, const UniformityInfo &UA)
 
static void addRegionIntoQueue (Region &R, std::vector< Region * > &Regions)
 

Variables

const char FlowBlockName [] = "Flow"
 
 structurizecfg
 
Structurize the CFG
 
Structurize the false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "structurizecfg"

Definition at line 55 of file StructurizeCFG.cpp.

Function Documentation

◆ addRegionIntoQueue()

static void addRegionIntoQueue ( Region R,
std::vector< Region * > &  Regions 
)
static

Definition at line 1209 of file StructurizeCFG.cpp.

References addRegionIntoQueue().

Referenced by addRegionIntoQueue().

◆ hasOnlyUniformBranches()

static bool hasOnlyUniformBranches ( Region R,
unsigned  UniformMDKindID,
const UniformityInfo UA 
)
static

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( StructurizeCFGLegacyPass  ,
"structurizecfg"  ,
"Structurize the CFG"  ,
false  ,
false   
)

Variable Documentation

◆ CFG

Structurize the CFG

Definition at line 374 of file StructurizeCFG.cpp.

◆ false

Structurize the false

Definition at line 374 of file StructurizeCFG.cpp.

◆ FlowBlockName

const char FlowBlockName[] = "Flow"

Definition at line 58 of file StructurizeCFG.cpp.

◆ structurizecfg

structurizecfg

Definition at line 373 of file StructurizeCFG.cpp.