]> granicus.if.org Git - llvm/commitdiff
PatternMatch; Add m_ZExtOrSExt matcher
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 10 Mar 2017 00:47:35 +0000 (00:47 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 10 Mar 2017 00:47:35 +0000 (00:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297432 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/PatternMatch.h

index 2cd99d76cc96628cc132d6210bd52feeb7c490cf..62e1d61e818e4309b4c80ba89b723ba22ca1f3e8 100644 (file)
@@ -827,6 +827,13 @@ inline CastClass_match<OpTy, Instruction::ZExt> m_ZExt(const OpTy &Op) {
   return CastClass_match<OpTy, Instruction::ZExt>(Op);
 }
 
+template <typename OpTy>
+inline match_combine_or<CastClass_match<OpTy, Instruction::ZExt>,
+                        CastClass_match<OpTy, Instruction::SExt>>
+m_ZExtOrSExt(const OpTy &Op) {
+  return m_CombineOr(m_ZExt(Op), m_SExt(Op));
+}
+
 /// \brief Matches UIToFP.
 template <typename OpTy>
 inline CastClass_match<OpTy, Instruction::UIToFP> m_UIToFP(const OpTy &Op) {