LLVM 22.0.0git
llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs > Struct Template Reference

#include "llvm/CodeGen/SDPatternMatch.h"

Public Member Functions

 ReassociatableOpc_match (unsigned Opcode, const PatternTs &...Patterns)
template<typename MatchContext>
bool match (const MatchContext &Ctx, SDValue N)
bool collectLeaves (SDValue V, std::array< SDValue, NumPatterns > &Leaves, std::size_t &LeafIdx)
template<typename MatchContext, typename PatternHd, typename... PatternTl>
bool reassociatableMatchHelper (const MatchContext &Ctx, ArrayRef< SDValue > Leaves, Bitset< NumPatterns > &Used, PatternHd &HeadPattern, PatternTl &...TailPatterns)
template<typename MatchContext>
bool reassociatableMatchHelper (const MatchContext &Ctx, ArrayRef< SDValue > Leaves, Bitset< NumPatterns > &Used)

Public Attributes

unsigned Opcode
std::tuple< PatternTs... > Patterns

Static Public Attributes

static constexpr size_t NumPatterns

Detailed Description

template<typename... PatternTs>
struct llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs >

Definition at line 1302 of file SDPatternMatch.h.

Constructor & Destructor Documentation

◆ ReassociatableOpc_match()

template<typename... PatternTs>
llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs >::ReassociatableOpc_match ( unsigned Opcode,
const PatternTs &... Patterns )
inline

Definition at line 1308 of file SDPatternMatch.h.

References Opcode, and Patterns.

Member Function Documentation

◆ collectLeaves()

template<typename... PatternTs>
bool llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs >::collectLeaves ( SDValue V,
std::array< SDValue, NumPatterns > & Leaves,
std::size_t & LeafIdx )
inline

Definition at line 1326 of file SDPatternMatch.h.

References collectLeaves(), I, N, NumPatterns, and Opcode.

Referenced by collectLeaves(), and match().

◆ match()

template<typename... PatternTs>
template<typename MatchContext>
bool llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs >::match ( const MatchContext & Ctx,
SDValue N )
inline

Definition at line 1312 of file SDPatternMatch.h.

References collectLeaves(), N, NumPatterns, P, Patterns, and reassociatableMatchHelper().

◆ reassociatableMatchHelper() [1/2]

template<typename... PatternTs>
template<typename MatchContext>
bool llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs >::reassociatableMatchHelper ( const MatchContext & Ctx,
ArrayRef< SDValue > Leaves,
Bitset< NumPatterns > & Used )
inlinenodiscard

Definition at line 1359 of file SDPatternMatch.h.

◆ reassociatableMatchHelper() [2/2]

template<typename... PatternTs>
template<typename MatchContext, typename PatternHd, typename... PatternTl>
bool llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs >::reassociatableMatchHelper ( const MatchContext & Ctx,
ArrayRef< SDValue > Leaves,
Bitset< NumPatterns > & Used,
PatternHd & HeadPattern,
PatternTl &... TailPatterns )
inlinenodiscard

Member Data Documentation

◆ NumPatterns

template<typename... PatternTs>
size_t llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs >::NumPatterns
staticconstexpr
Initial value:
=
std::tuple_size_v<std::tuple<PatternTs...>>

Definition at line 1305 of file SDPatternMatch.h.

Referenced by collectLeaves(), and match().

◆ Opcode

template<typename... PatternTs>
unsigned llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs >::Opcode

Definition at line 1303 of file SDPatternMatch.h.

Referenced by collectLeaves(), and ReassociatableOpc_match().

◆ Patterns

template<typename... PatternTs>
std::tuple<PatternTs...> llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs >::Patterns

Definition at line 1304 of file SDPatternMatch.h.

Referenced by match(), and ReassociatableOpc_match().


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