LLVM  3.7.0
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 <TargetInstrInfo.h>

Collaboration diagram for llvm::TargetInstrInfo::MachineBranchPredicate:
[legend]

Public Types

enum  ComparePredicate { PRED_EQ, PRED_NE, PRED_INVALID }
 

Public Member Functions

 MachineBranchPredicate ()
 

Public Attributes

ComparePredicate Predicate
 
MachineOperand LHS
 
MachineOperand RHS
 
MachineBasicBlockTrueDest
 
MachineBasicBlockFalseDest
 
MachineInstrConditionDef
 
bool SingleUseCondition
 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 396 of file TargetInstrInfo.h.

Member Enumeration Documentation

Enumerator
PRED_EQ 
PRED_NE 
PRED_INVALID 

Definition at line 397 of file TargetInstrInfo.h.

Constructor & Destructor Documentation

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

Definition at line 415 of file TargetInstrInfo.h.

Member Data Documentation

MachineInstr* llvm::TargetInstrInfo::MachineBranchPredicate::ConditionDef

Definition at line 408 of file TargetInstrInfo.h.

MachineBasicBlock* llvm::TargetInstrInfo::MachineBranchPredicate::FalseDest

Definition at line 407 of file TargetInstrInfo.h.

MachineOperand llvm::TargetInstrInfo::MachineBranchPredicate::LHS

Definition at line 404 of file TargetInstrInfo.h.

ComparePredicate llvm::TargetInstrInfo::MachineBranchPredicate::Predicate

Definition at line 403 of file TargetInstrInfo.h.

MachineOperand llvm::TargetInstrInfo::MachineBranchPredicate::RHS

Definition at line 405 of file TargetInstrInfo.h.

bool llvm::TargetInstrInfo::MachineBranchPredicate::SingleUseCondition

SingleUseCondition is true if ConditionDef is dead except for the branch(es) at the end of the basic block.

Definition at line 413 of file TargetInstrInfo.h.

MachineBasicBlock* llvm::TargetInstrInfo::MachineBranchPredicate::TrueDest

Definition at line 406 of file TargetInstrInfo.h.


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