LLVM: llvm::TargetInstrInfo::MachineBranchPredicate Struct Reference (original) (raw)

Represents a predicate at the MachineFunction level. More...

#include "[llvm/CodeGen/TargetInstrInfo.h](TargetInstrInfo%5F8h%5Fsource.html)"

Public Types
enum ComparePredicate { PRED_EQ, PRED_NE, PRED_INVALID }
Public Member Functions
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 723 of file TargetInstrInfo.h.

ComparePredicate

llvm::TargetInstrInfo::MachineBranchPredicate::MachineBranchPredicate ( ) explicitdefault

ConditionDef

MachineInstr* llvm::TargetInstrInfo::MachineBranchPredicate::ConditionDef = nullptr

FalseDest

MachineBasicBlock* llvm::TargetInstrInfo::MachineBranchPredicate::FalseDest = nullptr

LHS

Predicate

ComparePredicate llvm::TargetInstrInfo::MachineBranchPredicate::Predicate = PRED_INVALID

RHS

SingleUseCondition

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 740 of file TargetInstrInfo.h.

TrueDest


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