summaryrefslogtreecommitdiffstats
path: root/llvm
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
commit8d6c229f8c6b63204f9482848ca14fe3caf3019b (patch)
treece6762276cc5f3200b56c345d8186b4f553345a0 /llvm
parent2bd632a02a14f1feed171027ed2016be517740f6 (diff)
downloadbcm5719-llvm-8d6c229f8c6b63204f9482848ca14fe3caf3019b.tar.gz
bcm5719-llvm-8d6c229f8c6b63204f9482848ca14fe3caf3019b.zip
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. llvm-svn: 27873
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/Target/TargetLowering.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/include/llvm/Target/TargetLowering.h b/llvm/include/llvm/Target/TargetLowering.h
index 882584f313b..0a3fb03eced 100644
--- a/llvm/include/llvm/Target/TargetLowering.h
+++ b/llvm/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
OpenPOWER on IntegriCloud