From fe82c1180a3ccaa1abc198af90e679b2c2858dc0 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. llvm-svn: 56757 --- 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); + } + }; }