Add methods to check insert/extract element instructions for validity

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27522 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-04-08 04:04:54 +00:00
parent d25db20f1a
commit fa495844a6

View 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);