LLVM  14.0.0git
Public Attributes | List of all members
llvm::IVConditionInfo Struct Reference

Struct to hold information about a partially invariant condition. More...

#include "llvm/Transforms/Utils/LoopUtils.h"

Collaboration diagram for llvm::IVConditionInfo:
Collaboration graph
[legend]

Public Attributes

SmallVector< Instruction * > InstToDuplicate
 Instructions that need to be duplicated and checked for the unswitching condition. More...
 
ConstantKnownValue = nullptr
 Constant to indicate for which value the condition is invariant. More...
 
bool PathIsNoop = true
 True if the partially invariant path is no-op (=does not have any side-effects and no loop value is used outside the loop). More...
 
BasicBlockExitForPath = nullptr
 If the partially invariant path reaches a single exit block, ExitForPath is set to that block. More...
 

Detailed Description

Struct to hold information about a partially invariant condition.

Definition at line 505 of file LoopUtils.h.

Member Data Documentation

◆ ExitForPath

BasicBlock* llvm::IVConditionInfo::ExitForPath = nullptr

If the partially invariant path reaches a single exit block, ExitForPath is set to that block.

Otherwise it is nullptr.

Definition at line 519 of file LoopUtils.h.

◆ InstToDuplicate

SmallVector<Instruction *> llvm::IVConditionInfo::InstToDuplicate

Instructions that need to be duplicated and checked for the unswitching condition.

Definition at line 508 of file LoopUtils.h.

Referenced by unswitchBestCondition(), and unswitchNontrivialInvariants().

◆ KnownValue

Constant* llvm::IVConditionInfo::KnownValue = nullptr

Constant to indicate for which value the condition is invariant.

Definition at line 511 of file LoopUtils.h.

Referenced by unswitchBestCondition(), and unswitchNontrivialInvariants().

◆ PathIsNoop

bool llvm::IVConditionInfo::PathIsNoop = true

True if the partially invariant path is no-op (=does not have any side-effects and no loop value is used outside the loop).

Definition at line 515 of file LoopUtils.h.


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