LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::LegalizerCombiner Class Reference

#include "llvm/CodeGen/GlobalISel/LegalizerCombiner.h"

Public Member Functions

 LegalizerCombiner (MachineIRBuilder &B, MachineRegisterInfo &MRI, const LegalizerInfo &LI)
 
bool tryCombineAnyExt (MachineInstr &MI, SmallVectorImpl< MachineInstr *> &DeadInsts)
 
bool tryCombineZExt (MachineInstr &MI, SmallVectorImpl< MachineInstr *> &DeadInsts)
 
bool tryCombineSExt (MachineInstr &MI, SmallVectorImpl< MachineInstr *> &DeadInsts)
 
bool tryCombineMerges (MachineInstr &MI, SmallVectorImpl< MachineInstr *> &DeadInsts)
 
bool tryCombineInstruction (MachineInstr &MI, SmallVectorImpl< MachineInstr *> &DeadInsts)
 Try to combine away MI. More...
 

Detailed Description

Definition at line 25 of file LegalizerCombiner.h.

Constructor & Destructor Documentation

◆ LegalizerCombiner()

llvm::LegalizerCombiner::LegalizerCombiner ( MachineIRBuilder B,
MachineRegisterInfo MRI,
const LegalizerInfo LI 
)
inline

Definition at line 31 of file LegalizerCombiner.h.

Member Function Documentation

◆ tryCombineAnyExt()

bool llvm::LegalizerCombiner::tryCombineAnyExt ( MachineInstr MI,
SmallVectorImpl< MachineInstr *> &  DeadInsts 
)
inline

◆ tryCombineInstruction()

bool llvm::LegalizerCombiner::tryCombineInstruction ( MachineInstr MI,
SmallVectorImpl< MachineInstr *> &  DeadInsts 
)
inline

Try to combine away MI.

Returns true if it combined away the MI. Adds instructions that are dead as a result of the combine into DeadInsts, which can include MI.

Definition at line 190 of file LegalizerCombiner.h.

References DefMI, llvm::LegalizerInfo::getAction(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineRegisterInfo::hasOneUse(), MI, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), tryCombineAnyExt(), tryCombineMerges(), tryCombineSExt(), and tryCombineZExt().

◆ tryCombineMerges()

bool llvm::LegalizerCombiner::tryCombineMerges ( MachineInstr MI,
SmallVectorImpl< MachineInstr *> &  DeadInsts 
)
inline

◆ tryCombineSExt()

bool llvm::LegalizerCombiner::tryCombineSExt ( MachineInstr MI,
SmallVectorImpl< MachineInstr *> &  DeadInsts 
)
inline

◆ tryCombineZExt()

bool llvm::LegalizerCombiner::tryCombineZExt ( MachineInstr MI,
SmallVectorImpl< MachineInstr *> &  DeadInsts 
)
inline

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