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

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

 EscapingValue ()=default
 EscapingValue (Value *Def)

Public Attributes

ValueDef = nullptr
 The value as it exists in partition 0 (the original).
PHINodeCarriedHeaderPHI = nullptr
 The carried header PHI in partition 0, or null if Def needs no per-partition start value seeded.
bool EscapesOutside = false
 True if Def is used outside the loop and must be merged at the final exit.
SmallVector< Value *, 4 > PerPartitionDef
 Def and CarriedHeaderPHI cloned into each partition (index 0 is the original; PerPartitionPHI[0] is unused).
SmallVector< PHINode *, 4 > PerPartitionPHI

Detailed Description

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.

Definition at line 95 of file LoopSplitUtils.cpp.

Constructor & Destructor Documentation

◆ EscapingValue() [1/2]

llvm::LoopSplitUtils::SplitState::EscapingValue::EscapingValue ( )
default

◆ EscapingValue() [2/2]

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

Definition at line 97 of file LoopSplitUtils.cpp.

References Def.

Member Data Documentation

◆ CarriedHeaderPHI

PHINode* llvm::LoopSplitUtils::SplitState::EscapingValue::CarriedHeaderPHI = nullptr

The carried header PHI in partition 0, or null if Def needs no per-partition start value seeded.

Definition at line 103 of file LoopSplitUtils.cpp.

◆ Def

Value* llvm::LoopSplitUtils::SplitState::EscapingValue::Def = nullptr

The value as it exists in partition 0 (the original).

Definition at line 100 of file LoopSplitUtils.cpp.

Referenced by EscapingValue().

◆ EscapesOutside

bool llvm::LoopSplitUtils::SplitState::EscapingValue::EscapesOutside = false

True if Def is used outside the loop and must be merged at the final exit.

Definition at line 106 of file LoopSplitUtils.cpp.

◆ PerPartitionDef

SmallVector<Value *, 4> llvm::LoopSplitUtils::SplitState::EscapingValue::PerPartitionDef

Def and CarriedHeaderPHI cloned into each partition (index 0 is the original; PerPartitionPHI[0] is unused).

Definition at line 109 of file LoopSplitUtils.cpp.

◆ PerPartitionPHI

SmallVector<PHINode *, 4> llvm::LoopSplitUtils::SplitState::EscapingValue::PerPartitionPHI

Definition at line 110 of file LoopSplitUtils.cpp.


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