mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
Add m_Zero().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45255 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e3c1cfb181
commit
46f1a8797c
@ -46,9 +46,24 @@ struct leaf_ty {
|
||||
bool match(ITy *V) { return isa<Class>(V); }
|
||||
};
|
||||
|
||||
/// m_Value() - Match an arbitrary value and ignore it.
|
||||
inline leaf_ty<Value> m_Value() { return leaf_ty<Value>(); }
|
||||
/// m_ConstantInt() - Match an arbitrary ConstantInt and ignore it.
|
||||
inline leaf_ty<ConstantInt> m_ConstantInt() { return leaf_ty<ConstantInt>(); }
|
||||
|
||||
struct zero_ty {
|
||||
template<typename ITy>
|
||||
bool match(ITy *V) {
|
||||
if (const Constant *C = dyn_cast<Constant>(V))
|
||||
return C->isNullValue();
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
/// m_Zero() - Match an arbitrary zero/null constant.
|
||||
inline zero_ty m_Zero() { return zero_ty(); }
|
||||
|
||||
|
||||
template<typename Class>
|
||||
struct bind_ty {
|
||||
Class *&VR;
|
||||
@ -64,7 +79,10 @@ struct bind_ty {
|
||||
}
|
||||
};
|
||||
|
||||
/// m_Value - Match a value, capturing it if we match.
|
||||
inline bind_ty<Value> m_Value(Value *&V) { return V; }
|
||||
|
||||
/// m_ConstantInt - Match a ConstantInt, capturing the value if we match.
|
||||
inline bind_ty<ConstantInt> m_ConstantInt(ConstantInt *&CI) { return CI; }
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
Loading…
Reference in New Issue
Block a user