[llvm] Add isa_and_nonnull
Summary:
Add new ``isa_and_nonnull<>`` operator that works just like
the ``isa<>`` operator, except that it allows for a null pointer as an
argument (which it then returns false).
Reviewers: lattner, aaron.ballman, greened
Reviewed By: lattner
Subscribers: hubert.reinterpretcast, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D60291
llvm-svn: 357761
diff --git a/llvm/docs/ProgrammersManual.rst b/llvm/docs/ProgrammersManual.rst
index adb23bd..75b6239 100644
--- a/llvm/docs/ProgrammersManual.rst
+++ b/llvm/docs/ProgrammersManual.rst
@@ -164,6 +164,12 @@
efficient to use the ``InstVisitor`` class to dispatch over the instruction
type directly.
+``isa_and_nonnull<>``:
+ The ``isa_and_nonnull<>`` operator works just like the ``isa<>`` operator,
+ except that it allows for a null pointer as an argument (which it then
+ returns false). This can sometimes be useful, allowing you to combine several
+ null checks into one.
+
``cast_or_null<>``:
The ``cast_or_null<>`` operator works just like the ``cast<>`` operator,
except that it allows for a null pointer as an argument (which it then