LLVM 20.0.0git
|
#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 |
#define DEBUG_TYPE "structurizecfg" |
Definition at line 55 of file StructurizeCFG.cpp.
Definition at line 1209 of file StructurizeCFG.cpp.
References addRegionIntoQueue().
Referenced by addRegionIntoQueue().
|
static |
Definition at line 1064 of file StructurizeCFG.cpp.
References llvm::RegionBase< Tr >::blocks(), llvm::dbgs(), llvm::Instruction::getMetadata(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), llvm::BranchInst::isConditional(), llvm::GenericUniformityInfo< ContextT >::isUniform(), and LLVM_DEBUG.
INITIALIZE_PASS_BEGIN | ( | StructurizeCFGLegacyPass | , |
"structurizecfg" | , | ||
"Structurize the CFG" | , | ||
false | , | ||
false | |||
) |
Structurize the CFG |
Definition at line 374 of file StructurizeCFG.cpp.
Structurize the false |
Definition at line 374 of file StructurizeCFG.cpp.
Definition at line 58 of file StructurizeCFG.cpp.
structurizecfg |
Definition at line 373 of file StructurizeCFG.cpp.