aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2008-04-18 20:27:12 +0000
committerDuncan Sands <baldrick@free.fr>2008-04-18 20:27:12 +0000
commit8aa1c9dd86b498c7296377c3819f1335b5d256a0 (patch)
treecfeb4269899de17d6a096057308767b3dffe5fea
parent37d64ec5fdac3c4d014a48ea5d44b515a9465c06 (diff)
downloadexternal_llvm-8aa1c9dd86b498c7296377c3819f1335b5d256a0.zip
external_llvm-8aa1c9dd86b498c7296377c3819f1335b5d256a0.tar.gz
external_llvm-8aa1c9dd86b498c7296377c3819f1335b5d256a0.tar.bz2
Add some more FIXME's for indexed loads and stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49916 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeTypesPromote.cpp2
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeTypesScalarize.cpp2
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeTypesSplit.cpp2
3 files changed, 6 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/LegalizeTypesPromote.cpp b/lib/CodeGen/SelectionDAG/LegalizeTypesPromote.cpp
index 93c8c60..6d7f063 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeTypesPromote.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeTypesPromote.cpp
@@ -193,6 +193,7 @@ SDOperand DAGTypeLegalizer::PromoteResult_SETCC(SDNode *N) {
}
SDOperand DAGTypeLegalizer::PromoteResult_LOAD(LoadSDNode *N) {
+ // FIXME: Add support for indexed loads.
MVT::ValueType NVT = TLI.getTypeToTransformTo(N->getValueType(0));
ISD::LoadExtType ExtType =
ISD::isNON_EXTLoad(N) ? ISD::EXTLOAD : N->getExtensionType();
@@ -637,6 +638,7 @@ void DAGTypeLegalizer::PromoteSetCCOperands(SDOperand &NewLHS,SDOperand &NewRHS,
}
SDOperand DAGTypeLegalizer::PromoteOperand_STORE(StoreSDNode *N, unsigned OpNo){
+ // FIXME: Add support for indexed stores.
SDOperand Ch = N->getChain(), Ptr = N->getBasePtr();
int SVOffset = N->getSrcValueOffset();
unsigned Alignment = N->getAlignment();
diff --git a/lib/CodeGen/SelectionDAG/LegalizeTypesScalarize.cpp b/lib/CodeGen/SelectionDAG/LegalizeTypesScalarize.cpp
index ae3a09f..d9ba99f 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeTypesScalarize.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeTypesScalarize.cpp
@@ -93,6 +93,7 @@ SDOperand DAGTypeLegalizer::ScalarizeRes_UNDEF(SDNode *N) {
}
SDOperand DAGTypeLegalizer::ScalarizeRes_LOAD(LoadSDNode *N) {
+ // FIXME: Add support for indexed loads.
SDOperand Result = DAG.getLoad(MVT::getVectorElementType(N->getValueType(0)),
N->getChain(), N->getBasePtr(),
N->getSrcValue(), N->getSrcValueOffset(),
@@ -224,6 +225,7 @@ SDOperand DAGTypeLegalizer::ScalarizeOp_EXTRACT_VECTOR_ELT(SDNode *N) {
/// ScalarizeOp_STORE - If the value to store is a vector that needs to be
/// scalarized, it must be <1 x ty>. Just store the element.
SDOperand DAGTypeLegalizer::ScalarizeOp_STORE(StoreSDNode *N, unsigned OpNo) {
+ // FIXME: Add support for indexed stores.
assert(OpNo == 1 && "Do not know how to scalarize this operand!");
return DAG.getStore(N->getChain(), GetScalarizedOp(N->getOperand(1)),
N->getBasePtr(), N->getSrcValue(), N->getSrcValueOffset(),
diff --git a/lib/CodeGen/SelectionDAG/LegalizeTypesSplit.cpp b/lib/CodeGen/SelectionDAG/LegalizeTypesSplit.cpp
index b46b658..d1057c9 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeTypesSplit.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeTypesSplit.cpp
@@ -126,6 +126,7 @@ void DAGTypeLegalizer::SplitRes_UNDEF(SDNode *N, SDOperand &Lo, SDOperand &Hi) {
void DAGTypeLegalizer::SplitRes_LOAD(LoadSDNode *LD,
SDOperand &Lo, SDOperand &Hi) {
+ // FIXME: Add support for indexed loads.
MVT::ValueType LoVT, HiVT;
GetSplitDestVTs(LD->getValueType(0), LoVT, HiVT);
@@ -398,6 +399,7 @@ bool DAGTypeLegalizer::SplitOperand(SDNode *N, unsigned OpNo) {
}
SDOperand DAGTypeLegalizer::SplitOp_STORE(StoreSDNode *N, unsigned OpNo) {
+ // FIXME: Add support for indexed stores.
assert(OpNo == 1 && "Can only split the stored value");
SDOperand Ch = N->getChain();