Add cast creation functions for Pointer Casts, either BitCast or PtrToInt
authorReid Spencer <rspencer@reidspencer.com>
Mon, 4 Dec 2006 23:14:27 +0000 (23:14 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Mon, 4 Dec 2006 23:14:27 +0000 (23:14 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32207 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Constants.h
include/llvm/InstrTypes.h

index 93be8bf06f9c6c8256577f6320cef42d1a88ab3a..f142976d33085fb9c10acba2b837d00bf31ebf74 100644 (file)
@@ -561,6 +561,12 @@ public:
     const Type *Ty ///< The type to trunc or bitcast C to
   );
 
+  /// @brief Create a BitCast or a PtrToInt cast constant expression
+  static Constant *getPointerCast(
+    Constant *C,   ///< The pointer value to be casted (operand 0)
+    const Type *Ty ///< The type to which cast should be made
+  );
+
   // This method uses the CastInst::getCastOpcode method to infer the
   // cast opcode to use. 
   // @brief Get a ConstantExpr Conversion operator that casts C to Ty
@@ -597,7 +603,7 @@ public:
   ///
   static Constant *get(unsigned Opcode, Constant *C1, Constant *C2);
 
-  /// @brief Return an ICmp or FCmp comparison operator constante expression.
+  /// @brief Return an ICmp or FCmp comparison operator constant expression.
   static Constant *getCompare(unsigned Opcode, unsigned short pred, 
                               Constant *C1, Constant *C2);
 
index 0878a9c4b5a4764e05cb2d9bf6ec4ba37e8c9599..0577db3efc43265aea11b07ffc44daf8900539c1 100644 (file)
@@ -323,6 +323,22 @@ public:
     Instruction *InsertBefore = 0 ///< Place to insert the instruction
   );
 
+  /// @brief Create a BitCast or a PtrToInt cast instruction
+  static CastInst *createPointerCast(
+    Value *S,                ///< The pointer value to be casted (operand 0)
+    const Type *Ty,          ///< The type to which operand is casted
+    const std::string &Name, ///< The name for the instruction
+    BasicBlock *InsertAtEnd  ///< The block to insert the instruction into
+  );
+
+  /// @brief Create a BitCast or a PtrToInt cast instruction
+  static CastInst *createPointerCast(
+    Value *S,                ///< The pointer value to be casted (operand 0)
+    const Type *Ty,          ///< The type to which cast should be made
+    const std::string &Name = "", ///< Name for the instruction
+    Instruction *InsertBefore = 0 ///< Place to insert the instruction
+  );
+
   /// @brief Create a SExt or BitCast cast instruction
   static CastInst *createSExtOrBitCast(
     Value *S,                ///< The value to be casted (operand 0)