aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-04-20 08:54:13 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-04-20 08:54:13 +0000
commitc313c66a88a19f6cb59f8c349fe86eb69ee68b5f (patch)
tree285543588b546542745d1044f5f8a898e4e6fd2c /include
parent7afbb73632694e08a81594e18783d18be17b7093 (diff)
downloadexternal_llvm-c313c66a88a19f6cb59f8c349fe86eb69ee68b5f.zip
external_llvm-c313c66a88a19f6cb59f8c349fe86eb69ee68b5f.tar.gz
external_llvm-c313c66a88a19f6cb59f8c349fe86eb69ee68b5f.tar.bz2
Added a virtual method isVectorClearMaskLegal to TLI. It is similar to
isShuffleMaskLegal, used to determine if it makes sense to turn a "vector clear" (e.g. pand V, <0, -1, 0, -1> to a shuffle of the vector and a zero vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27873 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Target/TargetLowering.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h
index 882584f..0a3fb03 100644
--- a/include/llvm/Target/TargetLowering.h
+++ b/include/llvm/Target/TargetLowering.h
@@ -200,6 +200,16 @@ public:
return true;
}
+ /// isVectorClearMaskLegal - Similar to isShuffleMaskLegal. This is
+ /// used by Targets can use this to indicate if there is a suitable
+ /// VECTOR_SHUFFLE that can be used to replace a VAND with a constant
+ /// pool entry.
+ virtual bool isVectorClearMaskLegal(std::vector<SDOperand> &BVOps,
+ MVT::ValueType EVT,
+ SelectionDAG &DAG) const {
+ return false;
+ }
+
/// getOperationAction - Return how this operation should be treated: either
/// it is legal, needs to be promoted to a larger size, needs to be
/// expanded to some other code sequence, or the target has a custom expander