|
LLVM 22.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 588 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 602 of file LoopUtils.h.
| SmallVector<Instruction *> llvm::IVConditionInfo::InstToDuplicate |
Instructions that need to be duplicated and checked for the unswitching condition.
Definition at line 591 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 594 of file LoopUtils.h.
Referenced by findBestNonTrivialUnswitchCandidate(), and unswitchNontrivialInvariants().
| 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 598 of file LoopUtils.h.