struct TargetInstrInfo::MachineBranchPredicate

Declaration

struct TargetInstrInfo::MachineBranchPredicate { /* full declaration omitted */ };

Description

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

Declared at: llvm/include/llvm/CodeGen/TargetInstrInfo.h:647

Member Variables

public llvm::TargetInstrInfo::MachineBranchPredicate:: ComparePredicate Predicate = PRED_INVALID
public llvm::MachineOperand LHS = MachineOperand::CreateImm(0)
public llvm::MachineOperand RHS = MachineOperand::CreateImm(0)
public llvm::MachineBasicBlock* TrueDest = nullptr
public llvm::MachineBasicBlock* FalseDest = nullptr
public llvm::MachineInstr* ConditionDef = nullptr
public bool SingleUseCondition = false
SingleUseCondition is true if ConditionDef is dead except for the branch(es) at the end of the basic block.

Method Overview

Methods

ΒΆMachineBranchPredicate()

Declared at: llvm/include/llvm/CodeGen/TargetInstrInfo.h:666