Constant folding support for the insertelement operation.
authorRobert Bocchino <bocchino@illinois.edu>
Tue, 17 Jan 2006 20:07:07 +0000 (20:07 +0000)
committerRobert Bocchino <bocchino@illinois.edu>
Tue, 17 Jan 2006 20:07:07 +0000 (20:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25407 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Utils/Local.cpp

index cfd67f2d8315134e706ed70d0b059fdc5f88aef1..f2598c16ce4d91dc3f3cb8ff1071159e5eeefab8 100644 (file)
@@ -104,6 +104,9 @@ Constant *llvm::ConstantFoldInstruction(Instruction *I) {
     return 0;
   case Instruction::ExtractElement:
     return ConstantExpr::getExtractElement(Op0, Op1);
+  case Instruction::InsertElement:
+    if (Constant *Op2 = dyn_cast<Constant>(I->getOperand(2)))
+      return ConstantExpr::getInsertElement(Op0, Op1, Op2);
   case Instruction::GetElementPtr:
     std::vector<Constant*> IdxList;
     IdxList.reserve(I->getNumOperands()-1);