LLVM  8.0.1
Classes | Namespaces | Functions
MIPatternMatch.h File Reference
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/CodeGen/GlobalISel/Utils.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
Include dependency graph for MIPatternMatch.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::MIPatternMatch::OneUse_match< SubPatternT >
 
struct  llvm::MIPatternMatch::ConstantMatch
 
struct  llvm::MIPatternMatch::operand_type_match
 
struct  llvm::MIPatternMatch::And< Preds >
 Matching combinators. More...
 
struct  llvm::MIPatternMatch::And< Pred, Preds... >
 
struct  llvm::MIPatternMatch::Or< Preds >
 
struct  llvm::MIPatternMatch::Or< Pred, Preds... >
 
struct  llvm::MIPatternMatch::bind_helper< BindTy >
 
struct  llvm::MIPatternMatch::bind_helper< MachineInstr * >
 
struct  llvm::MIPatternMatch::bind_helper< LLT >
 
struct  llvm::MIPatternMatch::bind_helper< const ConstantFP * >
 
struct  llvm::MIPatternMatch::bind_ty< Class >
 
struct  llvm::MIPatternMatch::BinaryOp_match< LHS_P, RHS_P, Opcode, Commutable >
 
struct  llvm::MIPatternMatch::UnaryOp_match< SrcTy, Opcode >
 
struct  llvm::MIPatternMatch::CheckType
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::MIPatternMatch
 

Functions

template<typename Reg , typename Pattern >
bool llvm::MIPatternMatch::mi_match (Reg R, MachineRegisterInfo &MRI, Pattern &&P)
 
template<typename SubPat >
OneUse_match< SubPat > llvm::MIPatternMatch::m_OneUse (const SubPat &SP)
 
ConstantMatch llvm::MIPatternMatch::m_ICst (int64_t &Cst)
 
operand_type_match llvm::MIPatternMatch::m_Reg ()
 
template<typename... Preds>
And< Preds... > llvm::MIPatternMatch::m_all_of (Preds &&... preds)
 
template<typename... Preds>
Or< Preds... > llvm::MIPatternMatch::m_any_of (Preds &&... preds)
 
bind_ty< unsignedllvm::MIPatternMatch::m_Reg (unsigned &R)
 
bind_ty< MachineInstr * > llvm::MIPatternMatch::m_MInstr (MachineInstr *&MI)
 
bind_ty< LLT > llvm::MIPatternMatch::m_Type (LLT &Ty)
 
bind_ty< const ConstantFP * > llvm::MIPatternMatch::m_GFCst (const ConstantFP *&C)
 
template<typename LHS , typename RHS >
BinaryOp_match< LHS, RHS, TargetOpcode::G_ADD, truellvm::MIPatternMatch::m_GAdd (const LHS &L, const RHS &R)
 
template<typename LHS , typename RHS >
BinaryOp_match< LHS, RHS, TargetOpcode::G_SUB > llvm::MIPatternMatch::m_GSub (const LHS &L, const RHS &R)
 
template<typename LHS , typename RHS >
BinaryOp_match< LHS, RHS, TargetOpcode::G_MUL, truellvm::MIPatternMatch::m_GMul (const LHS &L, const RHS &R)
 
template<typename LHS , typename RHS >
BinaryOp_match< LHS, RHS, TargetOpcode::G_FADD, truellvm::MIPatternMatch::m_GFAdd (const LHS &L, const RHS &R)
 
template<typename LHS , typename RHS >
BinaryOp_match< LHS, RHS, TargetOpcode::G_FMUL, truellvm::MIPatternMatch::m_GFMul (const LHS &L, const RHS &R)
 
template<typename LHS , typename RHS >
BinaryOp_match< LHS, RHS, TargetOpcode::G_FSUB, falsellvm::MIPatternMatch::m_GFSub (const LHS &L, const RHS &R)
 
template<typename LHS , typename RHS >
BinaryOp_match< LHS, RHS, TargetOpcode::G_AND, truellvm::MIPatternMatch::m_GAnd (const LHS &L, const RHS &R)
 
template<typename LHS , typename RHS >
BinaryOp_match< LHS, RHS, TargetOpcode::G_OR, truellvm::MIPatternMatch::m_GOr (const LHS &L, const RHS &R)
 
template<typename SrcTy >
UnaryOp_match< SrcTy, TargetOpcode::G_ANYEXT > llvm::MIPatternMatch::m_GAnyExt (const SrcTy &Src)
 
template<typename SrcTy >
UnaryOp_match< SrcTy, TargetOpcode::G_SEXT > llvm::MIPatternMatch::m_GSExt (const SrcTy &Src)
 
template<typename SrcTy >
UnaryOp_match< SrcTy, TargetOpcode::G_ZEXT > llvm::MIPatternMatch::m_GZExt (const SrcTy &Src)
 
template<typename SrcTy >
UnaryOp_match< SrcTy, TargetOpcode::G_FPEXT > llvm::MIPatternMatch::m_GFPExt (const SrcTy &Src)
 
template<typename SrcTy >
UnaryOp_match< SrcTy, TargetOpcode::G_TRUNC > llvm::MIPatternMatch::m_GTrunc (const SrcTy &Src)
 
template<typename SrcTy >
UnaryOp_match< SrcTy, TargetOpcode::G_BITCAST > llvm::MIPatternMatch::m_GBitcast (const SrcTy &Src)
 
template<typename SrcTy >
UnaryOp_match< SrcTy, TargetOpcode::G_PTRTOINT > llvm::MIPatternMatch::m_GPtrToInt (const SrcTy &Src)
 
template<typename SrcTy >
UnaryOp_match< SrcTy, TargetOpcode::G_INTTOPTR > llvm::MIPatternMatch::m_GIntToPtr (const SrcTy &Src)
 
template<typename SrcTy >
UnaryOp_match< SrcTy, TargetOpcode::G_FPTRUNC > llvm::MIPatternMatch::m_GFPTrunc (const SrcTy &Src)
 
template<typename SrcTy >
UnaryOp_match< SrcTy, TargetOpcode::G_FABS > llvm::MIPatternMatch::m_GFabs (const SrcTy &Src)
 
template<typename SrcTy >
UnaryOp_match< SrcTy, TargetOpcode::G_FNEG > llvm::MIPatternMatch::m_GFNeg (const SrcTy &Src)
 
template<typename SrcTy >
UnaryOp_match< SrcTy, TargetOpcode::COPY > llvm::MIPatternMatch::m_Copy (SrcTy &&Src)
 
CheckType llvm::MIPatternMatch::m_SpecificType (LLT Ty)