LLVM 20.0.0git
Classes | Namespaces | Functions
ScalarEvolutionPatternMatch.h File Reference
#include "llvm/Analysis/ScalarEvolutionExpressions.h"

Go to the source code of this file.

Classes

struct  llvm::SCEVPatternMatch::cst_pred_ty< Predicate >
 
struct  llvm::SCEVPatternMatch::is_zero
 
struct  llvm::SCEVPatternMatch::is_one
 
struct  llvm::SCEVPatternMatch::is_all_ones
 
struct  llvm::SCEVPatternMatch::class_match< Class >
 
struct  llvm::SCEVPatternMatch::bind_ty< Class >
 
struct  llvm::SCEVPatternMatch::specificscev_ty
 Match a specified const SCEV *. More...
 
struct  llvm::SCEVPatternMatch::SCEVUnaryExpr_match< SCEVTy, Op0_t >
 Match a unary SCEV. More...
 
struct  llvm::SCEVPatternMatch::SCEVBinaryExpr_match< SCEVTy, Op0_t, Op1_t >
 Match a binary SCEV. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::SCEVPatternMatch
 

Functions

template<typename Val , typename Pattern >
bool llvm::SCEVPatternMatch::match (const SCEV *S, const Pattern &P)
 
cst_pred_ty< is_zero > llvm::SCEVPatternMatch::m_scev_Zero ()
 Match an integer 0.
 
cst_pred_ty< is_one > llvm::SCEVPatternMatch::m_scev_One ()
 Match an integer 1.
 
cst_pred_ty< is_all_ones > llvm::SCEVPatternMatch::m_scev_AllOnes ()
 Match an integer with all bits set.
 
bind_ty< const SCEV > llvm::SCEVPatternMatch::m_SCEV (const SCEV *&V)
 Match a SCEV, capturing it if we match.
 
bind_ty< const SCEVConstant > llvm::SCEVPatternMatch::m_SCEVConstant (const SCEVConstant *&V)
 
bind_ty< const SCEVUnknown > llvm::SCEVPatternMatch::m_SCEVUnknown (const SCEVUnknown *&V)
 
specificscev_ty llvm::SCEVPatternMatch::m_Specific (const SCEV *S)
 Match if we have a specific specified SCEV.
 
template<typename SCEVTy , typename Op0_t >
SCEVUnaryExpr_match< SCEVTy, Op0_t > llvm::SCEVPatternMatch::m_scev_Unary (const Op0_t &Op0)
 
template<typename Op0_t >
SCEVUnaryExpr_match< SCEVSignExtendExpr, Op0_t > llvm::SCEVPatternMatch::m_scev_SExt (const Op0_t &Op0)
 
template<typename Op0_t >
SCEVUnaryExpr_match< SCEVZeroExtendExpr, Op0_t > llvm::SCEVPatternMatch::m_scev_ZExt (const Op0_t &Op0)
 
template<typename SCEVTy , typename Op0_t , typename Op1_t >
SCEVBinaryExpr_match< SCEVTy, Op0_t, Op1_t > llvm::SCEVPatternMatch::m_scev_Binary (const Op0_t &Op0, const Op1_t &Op1)
 
template<typename Op0_t , typename Op1_t >
SCEVBinaryExpr_match< SCEVAddExpr, Op0_t, Op1_t > llvm::SCEVPatternMatch::m_scev_Add (const Op0_t &Op0, const Op1_t &Op1)