Add methods to check insert/extract element instructions for validity
authorChris Lattner <sabre@nondot.org>
Sat, 8 Apr 2006 04:04:54 +0000 (04:04 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 8 Apr 2006 04:04:54 +0000 (04:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27522 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Instructions.h

index 3922cd3e9f5511b56293ff3399c949518bc26b95..eecc32c533101a21d6d553cd28af823909e44d94 100644 (file)
@@ -738,6 +738,10 @@ public:
   ExtractElementInst(Value *Vec, Value *Idx, const std::string &Name,
                      BasicBlock *InsertAtEnd);
 
+  /// isValidOperands - Return true if an extractelement instruction can be
+  /// formed with the specified operands.
+  static bool isValidOperands(const Value *Vec, const Value *Idx);
+  
   virtual ExtractElementInst *clone() const;
 
   virtual bool mayWriteToMemory() const { return false; }
@@ -785,6 +789,11 @@ public:
   InsertElementInst(Value *Vec, Value *NewElt, Value *Idx,
                     const std::string &Name, BasicBlock *InsertAtEnd);
 
+  /// isValidOperands - Return true if an insertelement instruction can be
+  /// formed with the specified operands.
+  static bool isValidOperands(const Value *Vec, const Value *NewElt,
+                              const Value *Idx);
+  
   virtual InsertElementInst *clone() const;
 
   virtual bool mayWriteToMemory() const { return false; }
@@ -832,7 +841,7 @@ public:
   ShuffleVectorInst(Value *V1, Value *V2, Value *Mask,
                     const std::string &Name, BasicBlock *InsertAtEnd);
   
-  /// isValidOperands - Return true if a value shufflevector instruction can be
+  /// isValidOperands - Return true if a shufflevector instruction can be
   /// formed with the specified operands.
   static bool isValidOperands(const Value *V1, const Value *V2,
                               const Value *Mask);