LLVM 22.0.0git
llvm::PatternMatch::ThreeOps_match< T0, T1, T2, Opcode, CommutableOp2Op3 > Struct Template Reference

Matches instructions with Opcode and three operands. More...

#include "llvm/IR/PatternMatch.h"

Public Member Functions

 ThreeOps_match (const T0 &Op1, const T1 &Op2, const T2 &Op3)
template<typename OpTy>
bool match (OpTy *V) const

Public Attributes

T0 Op1
T1 Op2
T2 Op3

Detailed Description

template<typename T0, typename T1, typename T2, unsigned Opcode, bool CommutableOp2Op3 = false>
struct llvm::PatternMatch::ThreeOps_match< T0, T1, T2, Opcode, CommutableOp2Op3 >

Matches instructions with Opcode and three operands.

Definition at line 1871 of file PatternMatch.h.

Constructor & Destructor Documentation

◆ ThreeOps_match()

template<typename T0, typename T1, typename T2, unsigned Opcode, bool CommutableOp2Op3 = false>
llvm::PatternMatch::ThreeOps_match< T0, T1, T2, Opcode, CommutableOp2Op3 >::ThreeOps_match ( const T0 & Op1,
const T1 & Op2,
const T2 & Op3 )
inline

Definition at line 1876 of file PatternMatch.h.

References Op1, Op2, Op3, and T1.

Member Function Documentation

◆ match()

template<typename T0, typename T1, typename T2, unsigned Opcode, bool CommutableOp2Op3 = false>
template<typename OpTy>
bool llvm::PatternMatch::ThreeOps_match< T0, T1, T2, Opcode, CommutableOp2Op3 >::match ( OpTy * V) const
inline

Definition at line 1879 of file PatternMatch.h.

References llvm::cast(), I, Op1, Op2, and Op3.

Member Data Documentation

◆ Op1

template<typename T0, typename T1, typename T2, unsigned Opcode, bool CommutableOp2Op3 = false>
T0 llvm::PatternMatch::ThreeOps_match< T0, T1, T2, Opcode, CommutableOp2Op3 >::Op1

Definition at line 1872 of file PatternMatch.h.

Referenced by match(), and ThreeOps_match().

◆ Op2

template<typename T0, typename T1, typename T2, unsigned Opcode, bool CommutableOp2Op3 = false>
T1 llvm::PatternMatch::ThreeOps_match< T0, T1, T2, Opcode, CommutableOp2Op3 >::Op2

Definition at line 1873 of file PatternMatch.h.

Referenced by match(), and ThreeOps_match().

◆ Op3

template<typename T0, typename T1, typename T2, unsigned Opcode, bool CommutableOp2Op3 = false>
T2 llvm::PatternMatch::ThreeOps_match< T0, T1, T2, Opcode, CommutableOp2Op3 >::Op3

Definition at line 1874 of file PatternMatch.h.

Referenced by match(), and ThreeOps_match().


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