summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2017-03-10 00:47:35 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2017-03-10 00:47:35 +0000
commitf03bf9bdd7e270ed17dfc9d9656b0b6b77532f39 (patch)
tree2ef49d33bd62a71cf0148432e0eaace3a2beb1f4 /llvm
parent9bd4566dac26dfac9a913d8e80666b6a06f81142 (diff)
downloadbcm5719-llvm-f03bf9bdd7e270ed17dfc9d9656b0b6b77532f39.tar.gz
bcm5719-llvm-f03bf9bdd7e270ed17dfc9d9656b0b6b77532f39.zip
PatternMatch; Add m_ZExtOrSExt matcher
llvm-svn: 297432
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/IR/PatternMatch.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/include/llvm/IR/PatternMatch.h b/llvm/include/llvm/IR/PatternMatch.h
index 2cd99d76cc9..62e1d61e818 100644
--- a/llvm/include/llvm/IR/PatternMatch.h
+++ b/llvm/include/llvm/IR/PatternMatch.h
@@ -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) {
OpenPOWER on IntegriCloud