OSDN Git Service

Add IRBuilder::{CreateIsNull, CreateIsNonNull} helper methods.
authorDaniel Dunbar <daniel@zuster.org>
Sat, 27 Sep 2008 23:22:55 +0000 (23:22 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Sat, 27 Sep 2008 23:22:55 +0000 (23:22 +0000)
 - 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

index 0be481b..1156825 100644 (file)
@@ -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);
+  }
+  
 };
 
 }