mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-25 05:22:04 +00:00
Fix a bug about generating undef operand when optimising shuffle vector and insert element in instruction combine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198730 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -763,9 +763,10 @@ InstCombiner::EvaluateInDifferentElementOrder(Value *V, ArrayRef<int> Mask) {
|
||||
}
|
||||
}
|
||||
|
||||
// If element is not in Mask, no need to handle the operand 1 (element to
|
||||
// be inserted). Just evaluate values in operand 0 according to Mask.
|
||||
if (!Found)
|
||||
return UndefValue::get(
|
||||
VectorType::get(V->getType()->getScalarType(), Mask.size()));
|
||||
return EvaluateInDifferentElementOrder(I->getOperand(0), Mask);
|
||||
|
||||
Value *V = EvaluateInDifferentElementOrder(I->getOperand(0), Mask);
|
||||
return InsertElementInst::Create(V, I->getOperand(1),
|
||||
|
||||
Reference in New Issue
Block a user