Add support for loading and storing pointers...
authorChris Lattner <sabre@nondot.org>
Fri, 14 Sep 2001 20:00:02 +0000 (20:00 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 14 Sep 2001 20:00:02 +0000 (20:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@575 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/SparcV9/SparcV9InstrSelection.cpp

index fde7282e85ad386d8046c0a22fca5814875d1cc4..d94e07df7fcc75809b3285fac9cbdadb79a94aba 100644 (file)
@@ -821,53 +821,45 @@ CreateDivConstInstruction(const InstructionNode* instrNode,
 }
 
 
-static inline MachineOpCode 
-ChooseLoadInstruction(const Type* resultType)
-{
-  MachineOpCode opCode = INVALID_OPCODE;
-  
-  switch (resultType->getPrimitiveID())
-    {
-    case Type::BoolTyID:       opCode = LDUB; break;
-    case Type::UByteTyID:      opCode = LDUB; break;
-    case Type::SByteTyID:      opCode = LDSB; break;
-    case Type::UShortTyID:     opCode = LDUH; break;
-    case Type::ShortTyID:      opCode = LDSH; break;
-    case Type::UIntTyID:       opCode = LDUW; break;
-    case Type::IntTyID:                opCode = LDSW; break;
-    case Type::ULongTyID:
-    case Type::LongTyID:       opCode = LDX;  break;
-    case Type::FloatTyID:      opCode = LD;   break;
-    case Type::DoubleTyID:     opCode = LDD;  break;
-    default: assert(0 && "Invalid type for Load instruction"); break; 
-    }
+static inline MachineOpCode ChooseLoadInstruction(const Type *DestTy) {
+  switch (DestTy->getPrimitiveID()) {
+  case Type::BoolTyID:
+  case Type::UByteTyID:   return LDUB;
+  case Type::SByteTyID:   return LDSB;
+  case Type::UShortTyID:  return LDUH;
+  case Type::ShortTyID:   return LDSH;
+  case Type::UIntTyID:    return LDUW;
+  case Type::IntTyID:     return LDSW;
+  case Type::PointerTyID:
+  case Type::ULongTyID:
+  case Type::LongTyID:    return LDX;
+  case Type::FloatTyID:   return LD;
+  case Type::DoubleTyID:  return LDD;
+  default: assert(0 && "Invalid type for Load instruction");
+  }
   
-  return opCode;
+  return 0;
 }
 
 
-static inline MachineOpCode 
-ChooseStoreInstruction(const Type* valueType)
-{
-  MachineOpCode opCode = INVALID_OPCODE;
-  
-  switch (valueType->getPrimitiveID())
-    {
-    case Type::BoolTyID:
-    case Type::UByteTyID:
-    case Type::SByteTyID:      opCode = STB; break;
-    case Type::UShortTyID:
-    case Type::ShortTyID:      opCode = STH; break;
-    case Type::UIntTyID:
-    case Type::IntTyID:                opCode = STW; break;
-    case Type::ULongTyID:
-    case Type::LongTyID:       opCode = STX;  break;
-    case Type::FloatTyID:      opCode = ST;   break;
-    case Type::DoubleTyID:     opCode = STD;  break;
-    default: assert(0 && "Invalid type for Store instruction"); break; 
-    }
+static inline MachineOpCode ChooseStoreInstruction(const Type *DestTy) {
+  switch (DestTy->getPrimitiveID()) {
+  case Type::BoolTyID:
+  case Type::UByteTyID:
+  case Type::SByteTyID:   return STB;
+  case Type::UShortTyID:
+  case Type::ShortTyID:   return STH;
+  case Type::UIntTyID:
+  case Type::IntTyID:     return STW;
+  case Type::PointerTyID:
+  case Type::ULongTyID:
+  case Type::LongTyID:    return STX;
+  case Type::FloatTyID:   return ST;
+  case Type::DoubleTyID:  return STD;
+  default: assert(0 && "Invalid type for Store instruction");
+  }
   
-  return opCode;
+  return 0;
 }