LLVM 20.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 664 of file TargetInstrInfo.h.
Enumerator | |
---|---|
PRED_EQ | |
PRED_NE | |
PRED_INVALID |
Definition at line 665 of file TargetInstrInfo.h.
|
explicitdefault |
MachineInstr* llvm::TargetInstrInfo::MachineBranchPredicate::ConditionDef = nullptr |
Definition at line 676 of file TargetInstrInfo.h.
MachineBasicBlock* llvm::TargetInstrInfo::MachineBranchPredicate::FalseDest = nullptr |
Definition at line 675 of file TargetInstrInfo.h.
MachineOperand llvm::TargetInstrInfo::MachineBranchPredicate::LHS = MachineOperand::CreateImm(0) |
Definition at line 672 of file TargetInstrInfo.h.
ComparePredicate llvm::TargetInstrInfo::MachineBranchPredicate::Predicate = PRED_INVALID |
Definition at line 671 of file TargetInstrInfo.h.
MachineOperand llvm::TargetInstrInfo::MachineBranchPredicate::RHS = MachineOperand::CreateImm(0) |
Definition at line 673 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 681 of file TargetInstrInfo.h.
MachineBasicBlock* llvm::TargetInstrInfo::MachineBranchPredicate::TrueDest = nullptr |
Definition at line 674 of file TargetInstrInfo.h.