LLVM 22.0.0git
|
Represents a predicate at the MachineFunction level. More...
#include "llvm/CodeGen/TargetInstrInfo.h"
Public Types | |
enum | ComparePredicate { PRED_EQ , PRED_NE , PRED_INVALID } |
Public Member Functions | |
MachineBranchPredicate ()=default |
Public Attributes | |
ComparePredicate | Predicate = PRED_INVALID |
MachineOperand | LHS = MachineOperand::CreateImm(0) |
MachineOperand | RHS = MachineOperand::CreateImm(0) |
MachineBasicBlock * | TrueDest = nullptr |
MachineBasicBlock * | FalseDest = nullptr |
MachineInstr * | ConditionDef = nullptr |
bool | SingleUseCondition = false |
SingleUseCondition is true if ConditionDef is dead except for the branch(es) at the end of the basic block. |
Represents a predicate at the MachineFunction level.
The control flow a MachineBranchPredicate represents is:
Reg = LHS Predicate RHS == ConditionDef if Reg then goto TrueDest else goto FalseDest
Definition at line 706 of file TargetInstrInfo.h.
Enumerator | |
---|---|
PRED_EQ | |
PRED_NE | |
PRED_INVALID |
Definition at line 707 of file TargetInstrInfo.h.
|
explicitdefault |
MachineInstr* llvm::TargetInstrInfo::MachineBranchPredicate::ConditionDef = nullptr |
Definition at line 718 of file TargetInstrInfo.h.
MachineBasicBlock* llvm::TargetInstrInfo::MachineBranchPredicate::FalseDest = nullptr |
Definition at line 717 of file TargetInstrInfo.h.
MachineOperand llvm::TargetInstrInfo::MachineBranchPredicate::LHS = MachineOperand::CreateImm(0) |
Definition at line 714 of file TargetInstrInfo.h.
ComparePredicate llvm::TargetInstrInfo::MachineBranchPredicate::Predicate = PRED_INVALID |
Definition at line 713 of file TargetInstrInfo.h.
MachineOperand llvm::TargetInstrInfo::MachineBranchPredicate::RHS = MachineOperand::CreateImm(0) |
Definition at line 715 of file TargetInstrInfo.h.
bool llvm::TargetInstrInfo::MachineBranchPredicate::SingleUseCondition = false |
SingleUseCondition is true if ConditionDef is dead except for the branch(es) at the end of the basic block.
Definition at line 723 of file TargetInstrInfo.h.
MachineBasicBlock* llvm::TargetInstrInfo::MachineBranchPredicate::TrueDest = nullptr |
Definition at line 716 of file TargetInstrInfo.h.