llvm::PatternMatch::m_Deferred

Match a deferred Value* determined later in the same match expression.

Synopsis

Declared in <llvm/IR/PatternMatch.h>

match_deferred<Value>
m_Deferred(Value const*& V);

Description

Like m_Specific(), but works if the specific value to match is determined as part of the same match() expression. For example: m_Add(m_Value(X), m_Specific(X)) is incorrect, because m_Specific() will bind X before the pattern match starts. m_Add(m_Value(X), m_Deferred(X)) is correct, and will check against whichever value m_Value(X) populated.

Return Value

A matcher for a deferred Value* determined later in the same match expression.

Parameters

NameDescription
VReference to the Value* populated during matching.