[#llvm-PatternMatch-ShiftLike_match] = xref:llvm.adoc[llvm]::xref:llvm/PatternMatch.adoc[PatternMatch]::ShiftLike_match :relfileprefix: ../../ :mrdocs: Matches a shift by a constant, or the value itself with amount zero. == Synopsis Declared in `<llvm/IR/PatternMatch.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename LHS_t, unsigned int Opcode> struct ShiftLike_match; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/PatternMatch/ShiftLike_match/2constructor.adoc[`ShiftLike_match`] [.small]#[constructor]# | Construct a shift‐or‐self matcher. | xref:llvm/PatternMatch/ShiftLike_match/match.adoc[`match`] | Match `V` as Opcode with a constant amount, or as L with R set to 0. |=== == Data Members [cols="1,4"] |=== | Name| Description | xref:llvm/PatternMatch/ShiftLike_match/L.adoc[`L`] | Sub‐pattern for the shifted value. | xref:llvm/PatternMatch/ShiftLike_match/R.adoc[`R`] | Bound constant shift amount; set to zero when matching the value itself. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/PatternMatch/m_AShrOrSelf.adoc[`m_AShrOrSelf`] | Matches ashr L, ConstShAmt or L itself (R will be set to zero in this case). | xref:llvm/PatternMatch/m_LShrOrSelf.adoc[`m_LShrOrSelf`] | Matches lshr L, ConstShAmt or L itself (R will be set to zero in this case). | xref:llvm/PatternMatch/m_ShlOrSelf.adoc[`m_ShlOrSelf`] | Matches shl L, ConstShAmt or L itself (R will be set to zero in this case). |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#