Constant fold extractelement(zero, x) -> zero

llvm-svn: 27479
This commit is contained in:
Chris Lattner 2006-04-07 04:44:06 +00:00
parent 8ec0205de4
commit e4f9d7b23c
1 changed files with 3 additions and 0 deletions

View File

@ -836,6 +836,9 @@ Constant *llvm::ConstantFoldExtractElementInstruction(const Constant *Val,
const Constant *Idx) {
if (isa<UndefValue>(Val)) // ee(undef, x) -> undef
return UndefValue::get(cast<PackedType>(Val->getType())->getElementType());
if (Val->isNullValue()) // ee(zero, x) -> zero
return Constant::getNullValue(
cast<PackedType>(Val->getType())->getElementType());
if (const ConstantPacked *CVal = dyn_cast<ConstantPacked>(Val)) {
if (const ConstantUInt *CIdx = dyn_cast<ConstantUInt>(Idx)) {