From 7a3ec1e148c4985775588949d03d9d4d108dec6d Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Sat, 27 Sep 2008 23:22:55 +0000 Subject: [PATCH] Add IRBuilder::{CreateIsNull, CreateIsNonNull} helper methods. - I'm open to the idea that these could have better names. I think these read better than CreateEQNull and CreateNENull. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56757 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/IRBuilder.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/include/llvm/Support/IRBuilder.h b/include/llvm/Support/IRBuilder.h index 0be481bc101..1156825efb3 100644 --- a/include/llvm/Support/IRBuilder.h +++ b/include/llvm/Support/IRBuilder.h @@ -630,6 +630,23 @@ public: IdxBegin, IdxEnd - IdxBegin); return Insert(InsertValueInst::Create(Agg, Val, IdxBegin, IdxEnd), Name); } + + //===--------------------------------------------------------------------===// + // Utility creation methods + //===--------------------------------------------------------------------===// + + /// CreateIsNull - Return an i1 value testing if \arg Arg is null. + Value *CreateIsNull(Value *Arg, const char *Name = "") { + return CreateICmpEQ(Arg, llvm::Constant::getNullValue(Arg->getType()), + Name); + } + + /// CreateIsNonNull - Return an i1 value testing if \arg Arg is not null. + Value *CreateIsNonNull(Value *Arg, const char *Name = "") { + return CreateICmpNE(Arg, llvm::Constant::getNullValue(Arg->getType()), + Name); + } + }; }