LLVM  6.0.0svn
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
[legend]

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 <def>= LHS Predicate RHS == ConditionDef if Reg then goto TrueDest else goto FalseDest

Definition at line 553 of file TargetInstrInfo.h.

Member Enumeration Documentation

◆ ComparePredicate

Enumerator
PRED_EQ 
PRED_NE 
PRED_INVALID 

Definition at line 554 of file TargetInstrInfo.h.

Constructor & Destructor Documentation

◆ MachineBranchPredicate()

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

Member Data Documentation

◆ ConditionDef

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

Definition at line 565 of file TargetInstrInfo.h.

◆ FalseDest

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

Definition at line 564 of file TargetInstrInfo.h.

◆ LHS

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

Definition at line 561 of file TargetInstrInfo.h.

◆ Predicate

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

Definition at line 560 of file TargetInstrInfo.h.

◆ RHS

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

Definition at line 562 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 570 of file TargetInstrInfo.h.

◆ TrueDest

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

Definition at line 563 of file TargetInstrInfo.h.


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