LLVM 20.0.0git
|
Struct to hold information about a partially invariant condition. More...
#include "llvm/Transforms/Utils/LoopUtils.h"
Public Attributes | |
SmallVector< Instruction * > | InstToDuplicate |
Instructions that need to be duplicated and checked for the unswitching condition. | |
Constant * | KnownValue = nullptr |
Constant to indicate for which value the condition is invariant. | |
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). | |
BasicBlock * | ExitForPath = nullptr |
If the partially invariant path reaches a single exit block, ExitForPath is set to that block. | |
Struct to hold information about a partially invariant condition.
Definition at line 546 of file LoopUtils.h.
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 560 of file LoopUtils.h.
SmallVector<Instruction *> llvm::IVConditionInfo::InstToDuplicate |
Instructions that need to be duplicated and checked for the unswitching condition.
Definition at line 549 of file LoopUtils.h.
Referenced by unswitchBestCondition(), and unswitchNontrivialInvariants().
Constant* llvm::IVConditionInfo::KnownValue = nullptr |
Constant to indicate for which value the condition is invariant.
Definition at line 552 of file LoopUtils.h.
Referenced by findBestNonTrivialUnswitchCandidate(), and unswitchNontrivialInvariants().
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 556 of file LoopUtils.h.