[llvm-commits] CVS: llvm/include/llvm/Target/TargetLowering.h

Chris Lattner lattner at cs.uiuc.edu
Tue Apr 4 10:21:35 PDT 2006



Changes in directory llvm/include/llvm/Target:

TargetLowering.h updated: 1.66 -> 1.67
---
Log message:

Move isShuffleLegal from TLI to Legalize.


---
Diffs of the changes:  (+8 -17)

 TargetLowering.h |   25 ++++++++-----------------
 1 files changed, 8 insertions(+), 17 deletions(-)


Index: llvm/include/llvm/Target/TargetLowering.h
diff -u llvm/include/llvm/Target/TargetLowering.h:1.66 llvm/include/llvm/Target/TargetLowering.h:1.67
--- llvm/include/llvm/Target/TargetLowering.h:1.66	Mon Apr  3 19:25:10 2006
+++ llvm/include/llvm/Target/TargetLowering.h	Tue Apr  4 12:21:22 2006
@@ -191,6 +191,14 @@
   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 @@
            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 @@
     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:
 
   //===--------------------------------------------------------------------===//






More information about the llvm-commits mailing list