Move isShuffleLegal from TLI to Legalize.
authorChris Lattner <sabre@nondot.org>
Tue, 4 Apr 2006 17:21:22 +0000 (17:21 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 4 Apr 2006 17:21:22 +0000 (17:21 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27398 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetLowering.h

index 6035191f5fc9fa14c296c0ee0bd40b4b3c6197cd..67b54484d335580f600939c5e52bb290beb9dbeb 100644 (file)
@@ -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:
 
   //===--------------------------------------------------------------------===//