LLVM 22.0.0git
llvm::PatternMatch::AnyOps_match< Opcode, OperandTypes > Struct Template Reference

Matches instructions with Opcode and any number of operands. More...

#include "llvm/IR/PatternMatch.h"

Public Member Functions

 AnyOps_match (const OperandTypes &...Ops)
template<int Idx, int Last>
std::enable_if_t< Idx !=Last, boolmatch_operands (const Instruction *I) const
template<int Idx, int Last>
std::enable_if_t< Idx==Last, boolmatch_operands (const Instruction *I) const
template<typename OpTy>
bool match (OpTy *V) const

Public Attributes

std::tuple< OperandTypes... > Operands

Detailed Description

template<unsigned Opcode, typename... OperandTypes>
struct llvm::PatternMatch::AnyOps_match< Opcode, OperandTypes >

Matches instructions with Opcode and any number of operands.

Definition at line 1907 of file PatternMatch.h.

Constructor & Destructor Documentation

◆ AnyOps_match()

template<unsigned Opcode, typename... OperandTypes>
llvm::PatternMatch::AnyOps_match< Opcode, OperandTypes >::AnyOps_match ( const OperandTypes &... Ops)
inline

Definition at line 1910 of file PatternMatch.h.

References AbstractManglingParser< Derived, Alloc >::Ops, and Operands.

Member Function Documentation

◆ match()

template<unsigned Opcode, typename... OperandTypes>
template<typename OpTy>
bool llvm::PatternMatch::AnyOps_match< Opcode, OperandTypes >::match ( OpTy * V) const
inline

Definition at line 1928 of file PatternMatch.h.

References llvm::cast(), I, and match_operands().

◆ match_operands() [1/2]

template<unsigned Opcode, typename... OperandTypes>
template<int Idx, int Last>
std::enable_if_t< Idx !=Last, bool > llvm::PatternMatch::AnyOps_match< Opcode, OperandTypes >::match_operands ( const Instruction * I) const
inline

Definition at line 1918 of file PatternMatch.h.

References I, and match_operands().

Referenced by match(), and match_operands().

◆ match_operands() [2/2]

template<unsigned Opcode, typename... OperandTypes>
template<int Idx, int Last>
std::enable_if_t< Idx==Last, bool > llvm::PatternMatch::AnyOps_match< Opcode, OperandTypes >::match_operands ( const Instruction * I) const
inline

Definition at line 1924 of file PatternMatch.h.

References I, and Operands.

Member Data Documentation

◆ Operands

template<unsigned Opcode, typename... OperandTypes>
std::tuple<OperandTypes...> llvm::PatternMatch::AnyOps_match< Opcode, OperandTypes >::Operands

Definition at line 1908 of file PatternMatch.h.

Referenced by AnyOps_match(), and match_operands().


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