diff options
-rw-r--r-- | include/llvm/Support/IRBuilder.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/llvm/Support/IRBuilder.h b/include/llvm/Support/IRBuilder.h index 0be481bc10..1156825efb 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); + } + }; } |