LLVM  16.0.0git
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::TargetInstrInfo::MachineBranchPredicate Struct Reference

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

#include "llvm/CodeGen/TargetInstrInfo.h"

Collaboration diagram for llvm::TargetInstrInfo::MachineBranchPredicate:
Collaboration graph

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)
MachineBasicBlockTrueDest = nullptr
MachineBasicBlockFalseDest = nullptr
MachineInstrConditionDef = nullptr
bool SingleUseCondition = false
 SingleUseCondition is true if ConditionDef is dead except for the branch(es) at the end of the basic block. More...

Detailed 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

Definition at line 654 of file TargetInstrInfo.h.

Member Enumeration Documentation

◆ ComparePredicate


Definition at line 655 of file TargetInstrInfo.h.

Constructor & Destructor Documentation

◆ MachineBranchPredicate()

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

Member Data Documentation

◆ ConditionDef

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

Definition at line 666 of file TargetInstrInfo.h.

◆ FalseDest

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

Definition at line 665 of file TargetInstrInfo.h.


MachineOperand llvm::TargetInstrInfo::MachineBranchPredicate::LHS = MachineOperand::CreateImm(0)

Definition at line 662 of file TargetInstrInfo.h.

◆ Predicate

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

Definition at line 661 of file TargetInstrInfo.h.


MachineOperand llvm::TargetInstrInfo::MachineBranchPredicate::RHS = MachineOperand::CreateImm(0)

Definition at line 663 of file TargetInstrInfo.h.

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

◆ TrueDest

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

Definition at line 664 of file TargetInstrInfo.h.

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