Add some more FIXME's for indexed loads and stores.
authorDuncan Sands <baldrick@free.fr>
Fri, 18 Apr 2008 20:27:12 +0000 (20:27 +0000)
committerDuncan Sands <baldrick@free.fr>
Fri, 18 Apr 2008 20:27:12 +0000 (20:27 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49916 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/LegalizeTypesPromote.cpp
lib/CodeGen/SelectionDAG/LegalizeTypesScalarize.cpp
lib/CodeGen/SelectionDAG/LegalizeTypesSplit.cpp

index 93c8c605841235d4dacf6ae69a529aea223c9808..6d7f0630aed13471a0f352b21bb1794bcaf18ef9 100644 (file)
@@ -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();
index ae3a09fb0c6a9e173362a865d32379f01834648a..d9ba99fb896337eafaffd19259c65f7a53b5d703 100644 (file)
@@ -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(),
index b46b65854037aa8dc5f61ac31a4616f13cc5fccf..d1057c98cd09662cb3b4ad747b2e15eb3148f7f2 100644 (file)
@@ -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();