LLVM 24.0.0git
llvm::LoopSplitUtils::SplitState Struct Reference

Per-split() scratch shared by the phase helpers; lives for one split() call. More...

Classes

struct  EscapingValue
 A value that must be reconstructed after cloning because it is loop-carried (feeds a later partition), live-out (used after the loop), or both. More...

Public Member Functions

EscapingValueaddEscaping (Value *Def)

Public Attributes

BasicBlockFinalExit = nullptr
LoopOuterLoop = nullptr
PHINodeInduction = nullptr
bool Descending = false
bool LatchComparesPHI = false
SmallVector< EscapingValue, 8 > Escaping
 Values that must survive across partitions (carried and/or live-out).

Detailed Description

Per-split() scratch shared by the phase helpers; lives for one split() call.

Definition at line 82 of file LoopSplitUtils.cpp.

Member Function Documentation

◆ addEscaping()

EscapingValue & llvm::LoopSplitUtils::SplitState::addEscaping ( Value * Def)
inline

Definition at line 115 of file LoopSplitUtils.cpp.

References Escaping.

Member Data Documentation

◆ Descending

bool llvm::LoopSplitUtils::SplitState::Descending = false

Definition at line 88 of file LoopSplitUtils.cpp.

Referenced by llvm::LoopSplitUtils::split().

◆ Escaping

SmallVector<EscapingValue, 8> llvm::LoopSplitUtils::SplitState::Escaping

Values that must survive across partitions (carried and/or live-out).

Definition at line 113 of file LoopSplitUtils.cpp.

Referenced by addEscaping().

◆ FinalExit

BasicBlock* llvm::LoopSplitUtils::SplitState::FinalExit = nullptr

Definition at line 85 of file LoopSplitUtils.cpp.

◆ Induction

PHINode* llvm::LoopSplitUtils::SplitState::Induction = nullptr

Definition at line 87 of file LoopSplitUtils.cpp.

Referenced by llvm::LoopSplitUtils::split().

◆ LatchComparesPHI

bool llvm::LoopSplitUtils::SplitState::LatchComparesPHI = false

Definition at line 89 of file LoopSplitUtils.cpp.

Referenced by llvm::LoopSplitUtils::split().

◆ OuterLoop

Loop* llvm::LoopSplitUtils::SplitState::OuterLoop = nullptr

Definition at line 86 of file LoopSplitUtils.cpp.

Referenced by llvm::LoopSplitUtils::split().


The documentation for this struct was generated from the following file: