mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-21 03:32:21 +00:00
fold noop vbitconvert instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35943 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1780d861ac
commit
4829b1c6ab
@ -1484,6 +1484,15 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT::ValueType VT,
|
||||
MVT::getVectorNumElements(VT) == N3.getNumOperands() &&
|
||||
"Illegal VECTOR_SHUFFLE node!");
|
||||
break;
|
||||
case ISD::VBIT_CONVERT:
|
||||
// Fold vbit_convert nodes from a type to themselves.
|
||||
if (N1.getValueType() == MVT::Vector) {
|
||||
assert(isa<ConstantSDNode>(*(N1.Val->op_end()-2)) &&
|
||||
isa<VTSDNode>(*(N1.Val->op_end()-1)) && "Malformed vector input!");
|
||||
if (*(N1.Val->op_end()-2) == N2 && *(N1.Val->op_end()-1) == N3)
|
||||
return N1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
// Memoize node if it doesn't produce a flag.
|
||||
|
Loading…
x
Reference in New Issue
Block a user