LLVM 23.0.0git
UnifyLoopExits.cpp File Reference

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< unsignedMaxBooleansInControlFlowHub ("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

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "unify-loop-exits"

Definition at line 35 of file UnifyLoopExits.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( UnifyLoopExitsLegacyPass ,
"unify-loop-exits" ,
"Fixup each natural loop to have a single exit block" ,
false ,
false  )

◆ restoreSSA()

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

Definition at line 93 of file UnifyLoopExits.cpp.

References const, and restoreSSA().

Referenced by restoreSSA(), and unifyLoopExits().

◆ runImpl()

◆ unifyLoopExits()

Variable Documentation

◆ block

◆ exits

unify loop exits

Definition at line 73 of file UnifyLoopExits.cpp.

◆ false

unify loop Fixup each natural loop to have a single exit false

Definition at line 75 of file UnifyLoopExits.cpp.

◆ 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

Referenced by unifyLoopExits().