LLVM API Documentation

PatternMatch.h File Reference

#include "llvm/Constants.h"
#include "llvm/Instructions.h"

Include dependency graph for PatternMatch.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  llvm
namespace  llvm::PatternMatch

Classes

struct  llvm::PatternMatch::leaf_ty< Class >
struct  llvm::PatternMatch::constantint_ty< Val >
struct  llvm::PatternMatch::zero_ty
struct  llvm::PatternMatch::bind_ty< Class >
struct  llvm::PatternMatch::specificval_ty
 specificval_ty - Match a specified Value*. More...
struct  llvm::PatternMatch::BinaryOp_match< LHS_t, RHS_t, Opcode, ConcreteTy >
struct  llvm::PatternMatch::Shr_match< LHS_t, RHS_t, ConcreteTy >
struct  llvm::PatternMatch::BinaryOpClass_match< LHS_t, RHS_t, Class, OpcType >
struct  llvm::PatternMatch::CmpClass_match< LHS_t, RHS_t, Class, PredicateTy >
struct  llvm::PatternMatch::SelectClass_match< Cond_t, LHS_t, RHS_t >
struct  llvm::PatternMatch::CastClass_match< Op_t, Class >
struct  llvm::PatternMatch::not_match< LHS_t >
struct  llvm::PatternMatch::neg_match< LHS_t >
struct  llvm::PatternMatch::brc_match< Cond_t >

Functions

template<typename Val, typename Pattern>
bool llvm::PatternMatch::match (Val *V, const Pattern &P)
leaf_ty< Value > llvm::PatternMatch::m_Value ()
 m_Value() - Match an arbitrary value and ignore it.
leaf_ty< ConstantInt > llvm::PatternMatch::m_ConstantInt ()
 m_ConstantInt() - Match an arbitrary ConstantInt and ignore it.
zero_ty llvm::PatternMatch::m_Zero ()
 m_Zero() - Match an arbitrary zero/null constant.
bind_ty< Value > llvm::PatternMatch::m_Value (Value *&V)
 m_Value - Match a value, capturing it if we match.
bind_ty< ConstantInt > llvm::PatternMatch::m_ConstantInt (ConstantInt *&CI)
 m_ConstantInt - Match a ConstantInt, capturing the value if we match.
specificval_ty llvm::PatternMatch::m_Specific (const Value *V)
 m_Specific - Match if we have a specific specified value.
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::Add > 
llvm::PatternMatch::m_Add (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::Sub > 
llvm::PatternMatch::m_Sub (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::Mul > 
llvm::PatternMatch::m_Mul (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::UDiv > 
llvm::PatternMatch::m_UDiv (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::SDiv > 
llvm::PatternMatch::m_SDiv (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::FDiv > 
llvm::PatternMatch::m_FDiv (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::URem > 
llvm::PatternMatch::m_URem (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::SRem > 
llvm::PatternMatch::m_SRem (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::FRem > 
llvm::PatternMatch::m_FRem (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::And > 
llvm::PatternMatch::m_And (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::Or > 
llvm::PatternMatch::m_Or (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::Xor > 
llvm::PatternMatch::m_Xor (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::Shl > 
llvm::PatternMatch::m_Shl (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::LShr
llvm::PatternMatch::m_LShr (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOp_match< LHS, RHS,
Instruction::AShr > 
llvm::PatternMatch::m_AShr (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
Shr_match< LHS, RHSllvm::PatternMatch::m_Shr (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOpClass_match< LHS, RHS,
BinaryOperator,
Instruction::BinaryOps > 
llvm::PatternMatch::m_Shift (Instruction::BinaryOps &Op, const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
BinaryOpClass_match< LHS, RHS,
BinaryOperator,
Instruction::BinaryOps > 
llvm::PatternMatch::m_Shift (const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
CmpClass_match< LHS, RHS,
ICmpInst, ICmpInst::Predicate
llvm::PatternMatch::m_ICmp (ICmpInst::Predicate &Pred, const LHS &L, const RHS &R)
template<typename LHS, typename RHS>
CmpClass_match< LHS, RHS,
FCmpInst, FCmpInst::Predicate
llvm::PatternMatch::m_FCmp (FCmpInst::Predicate &Pred, const LHS &L, const RHS &R)
template<typename Cond, typename LHS, typename RHS>
SelectClass_match< Cond, RHS, LHSllvm::PatternMatch::m_Select (const Cond &C, const LHS &L, const RHS &R)
template<int64_t L, int64_t R, typename Cond>
SelectClass_match< Cond,
constantint_ty< L >
, constantint_ty< R > > 
llvm::PatternMatch::m_SelectCst (const Cond &C)
template<typename Class, typename OpTy>
CastClass_match< OpTy, Class > llvm::PatternMatch::m_Cast (const OpTy &Op)
template<typename LHS>
not_match< LHSllvm::PatternMatch::m_Not (const LHS &L)
template<typename LHS>
neg_match< LHSllvm::PatternMatch::m_Neg (const LHS &L)
template<typename Cond_t>
brc_match< Cond_t > llvm::PatternMatch::m_Br (const Cond_t &C, BasicBlock *&T, BasicBlock *&F)




This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.