LLVM: lib/Transforms/Utils/UnifyLoopExits.cpp File Reference (original) (raw)
Go to the source code of this file.
| Namespaces | |
|---|---|
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. |
| Macros | |
|---|---|
| #define | DEBUG_TYPE "unify-loop-exits" |
| Functions | |
|---|---|
| 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, SmallVectorImpl< BasicBlock * > &Incoming, BasicBlock *LoopExitBlock) |
| static bool | unifyLoopExits (DominatorTree &DT, LoopInfo &LI, Loop *L) |
| static bool | runImpl (LoopInfo &LI, DominatorTree &DT) |
| Variables | |
|---|---|
| static 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 the ControlFlowHub.")) |
| unify loop | exits |
| unify loop Fixup each natural loop to have a single exit | block |
| unify loop Fixup each natural loop to have a single exit | false |
◆ 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()
Definition at line 148 of file UnifyLoopExits.cpp.
References llvm::ControlFlowHub::addBranch(), assert(), llvm::CallingConv::C, Changed, llvm::dbgs(), llvm::dyn_cast(), llvm::ControlFlowHub::finalize(), G, llvm::BasicBlock::getTerminator(), I, LLVM_DEBUG, llvm_unreachable, MaxBooleansInControlFlowHub, llvm::printBasicBlock(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), restoreSSA(), llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::SplitCallBrEdge(), llvm::DominatorTreeBase< NodeT, IsPostDom >::verify(), and llvm::LoopInfoBase< BlockT, LoopT >::verify().
Referenced by runImpl().
◆ block
unify loop Fixup each natural loop to have a single exit block
Definition at line 74 of file UnifyLoopExits.cpp.
Referenced by _rpmalloc_aligned_reallocate(), _rpmalloc_allocate_from_heap_fallback(), _rpmalloc_deallocate_defer_small_or_medium(), _rpmalloc_deallocate_direct_small_or_medium(), _rpmalloc_reallocate(), _rpmalloc_span_finalize(), _rpmalloc_span_initialize_new(), llvm::GenericSSAContext< Function >::appendBlockDefs(), llvm::GenericSSAContext< Function >::appendBlockDefs(), llvm::GenericSSAContext< Function >::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(), blake3_xof16_avx512(), blake3_xof4_avx512(), blake3_xof8_avx512(), blake3_xof_many(), blake3_xof_many_avx512(), compress_pre(), compress_pre(), free_list_pop(), llvm::GCOVBlock::getCyclesCount(), llvm::GenericUniformityAnalysisImpl< ContextT >::initialize(), LLVM_ATTRIBUTE_C_DEPRECATED(), LLVMSetSuccessor(), load_block_words(), make_output(), parent_output(), llvm::GenericSSAContext< Function >::print(), llvm::GenericUniformityAnalysisImpl< ContextT >::print(), llvm::GCOVFile::readGCDA(), rpaligned_calloc(), and rpcalloc().
◆ 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 the ControlFlowHub.")) ( "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 the ControlFlowHub.") ) | static |
|---|