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); + } + }; }