mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
Move isShuffleLegal from TLI to Legalize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27398 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2ffc00a1d5
commit
c45420ddd2
@ -191,6 +191,14 @@ public:
|
||||
legal_fpimm_iterator legal_fpimm_end() const {
|
||||
return LegalFPImmediates.end();
|
||||
}
|
||||
|
||||
/// isShuffleMaskLegal - Targets can use this to indicate that they only
|
||||
/// support *some* VECTOR_SHUFFLE operations, those with specific masks.
|
||||
/// By default, if a target supports the VECTOR_SHUFFLE node, all mask values
|
||||
/// are assumed to be legal.
|
||||
virtual bool isShuffleMaskLegal(SDOperand Mask, MVT::ValueType VT) const {
|
||||
return true;
|
||||
}
|
||||
|
||||
/// getOperationAction - Return how this operation should be treated: either
|
||||
/// it is legal, needs to be promoted to a larger size, needs to be
|
||||
@ -207,15 +215,6 @@ public:
|
||||
getOperationAction(Op, VT) == Custom;
|
||||
}
|
||||
|
||||
|
||||
/// isVectorShuffleLegal - Return true if a vector shuffle is legal with the
|
||||
/// specified mask and type. Targets can specify exactly which masks they
|
||||
/// support and the code generator is tasked with not creating illegal masks.
|
||||
bool isShuffleLegal(MVT::ValueType VT, SDOperand Mask) const {
|
||||
return isOperationLegal(ISD::VECTOR_SHUFFLE, VT) &&
|
||||
isShuffleMaskLegal(Mask, VT);
|
||||
}
|
||||
|
||||
/// getTypeToPromoteTo - If the action for this operation is to promote, this
|
||||
/// method returns the ValueType to promote to.
|
||||
MVT::ValueType getTypeToPromoteTo(unsigned Op, MVT::ValueType VT) const {
|
||||
@ -515,14 +514,6 @@ protected:
|
||||
TargetDAGCombineArray[NT >> 3] |= 1 << (NT&7);
|
||||
}
|
||||
|
||||
/// isShuffleMaskLegal - Targets can use this to indicate that they only
|
||||
/// support *some* VECTOR_SHUFFLE operations, those with specific masks.
|
||||
/// By default, if a target supports the VECTOR_SHUFFLE node, all mask values
|
||||
/// are assumed to be legal.
|
||||
virtual bool isShuffleMaskLegal(SDOperand Mask, MVT::ValueType VT) const {
|
||||
return true;
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
|
Loading…
Reference in New Issue
Block a user