Go to the source code of this file.
|
namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations.
|
|
|
| INITIALIZE_PASS_BEGIN (UnifyLoopExitsLegacyPass, "unify-loop-exits", "Fixup each natural loop to have a single exit block", false, false) INITIALIZE_PASS_END(UnifyLoopExitsLegacyPass |
|
unify loop Fixup each natural loop to have a single exit static false void | restoreSSA (const DominatorTree &DT, const Loop *L, const SetVector< BasicBlock * > &Incoming, BasicBlock *LoopExitBlock) |
|
static bool | unifyLoopExits (DominatorTree &DT, LoopInfo &LI, Loop *L) |
|
static bool | runImpl (LoopInfo &LI, DominatorTree &DT) |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "unify-loop-exits" |
◆ INITIALIZE_PASS_BEGIN()
INITIALIZE_PASS_BEGIN |
( |
UnifyLoopExitsLegacyPass |
, |
|
|
"unify-loop-exits" |
, |
|
|
"Fixup each natural loop to have a single exit block" |
, |
|
|
false |
, |
|
|
false |
|
|
) |
| |
◆ restoreSSA()
◆ runImpl()
◆ unifyLoopExits()
Definition at line 146 of file UnifyLoopExits.cpp.
References assert(), llvm::CreateControlFlowHub(), llvm::dbgs(), G, llvm::LoopInfoBase< BlockT, LoopT >::getLoopFor(), llvm::SetVector< T, Vector, Set >::insert(), LLVM_DEBUG, MaxBooleansInControlFlowHub, restoreSSA(), llvm::SetVector< T, Vector, Set >::size(), llvm::successors(), llvm::LoopInfoBase< BlockT, LoopT >::verify(), and llvm::DominatorTreeBase< NodeT, IsPostDom >::verify().
Referenced by runImpl().
◆ block
unify loop Fixup each natural loop to have a single exit block |
Definition at line 72 of file UnifyLoopExits.cpp.
Referenced by llvm::GenericSSAContext< MachineFunction >::appendBlockDefs(), llvm::GenericSSAContext< Function >::appendBlockDefs(), llvm::GenericSSAContext< MachineFunction >::appendBlockTerms(), llvm::GenericSSAContext< Function >::appendBlockTerms(), llvm::BCBlockRAII::BCBlockRAII(), blake3_compress_in_place(), blake3_compress_in_place_avx512(), blake3_compress_in_place_portable(), blake3_compress_in_place_sse2(), blake3_compress_in_place_sse41(), blake3_compress_xof(), blake3_compress_xof_avx512(), blake3_compress_xof_portable(), blake3_compress_xof_sse2(), blake3_compress_xof_sse41(), blake3_hash16_avx512(), blake3_hash4_avx512(), blake3_hash4_sse2(), blake3_hash4_sse41(), blake3_hash8_avx2(), blake3_hash8_avx512(), compress_pre(), llvm::GCOVBlock::getCyclesCount(), llvm::GenericUniformityAnalysisImpl< ContextT >::initialize(), LLVMSetSuccessor(), make_output(), parent_output(), llvm::GenericUniformityAnalysisImpl< ContextT >::print(), and llvm::GCOVFile::readGCDA().
◆ exits
◆ false
unify loop Fixup each natural loop to have a single exit false |
◆ MaxBooleansInControlFlowHub
cl::opt< unsigned > MaxBooleansInControlFlowHub("max-booleans-in-control-flow-hub", cl::init(32), cl::Hidden, cl::desc("Set the maximum number of outgoing blocks for using a boolean " "value to record the exiting block in CreateControlFlowHub.")) |
( |
"max-booleans-in-control-flow-hub" |
, |
|
|
cl::init(32) |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc("Set the maximum number of outgoing blocks for using a boolean " "value to record the exiting block in CreateControlFlowHub.") |
|
|
) |
| |
|
static |