aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Support/IRBuilder.h17
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);
+ }
+
};
}