@@ -708,7 +708,6 @@ Status ABISysV_mips::SetReturnValueObject(lldb::StackFrameSP &frame_sp,
708708 Thread *thread = frame_sp->GetThread ().get ();
709709
710710 bool is_signed;
711- uint32_t count;
712711 bool is_complex;
713712
714713 RegisterContext *reg_ctx = thread->GetRegisterContext ().get ();
@@ -750,7 +749,7 @@ Status ABISysV_mips::SetReturnValueObject(lldb::StackFrameSP &frame_sp,
750749 " We don't support returning longer than 64 bit "
751750 " integer values at present." );
752751 }
753- } else if (compiler_type.IsFloatingPointType (count, is_complex)) {
752+ } else if (compiler_type.IsFloatingPointType (is_complex)) {
754753 if (is_complex)
755754 error = Status::FromErrorString (
756755 " We don't support returning complex values at present" );
@@ -797,7 +796,6 @@ ValueObjectSP ABISysV_mips::GetReturnValueObjectImpl(
797796
798797 bool is_signed = false ;
799798 bool is_complex = false ;
800- uint32_t count = 0 ;
801799
802800 // In MIPS register "r2" (v0) holds the integer function return values
803801 const RegisterInfo *r2_reg_info = reg_ctx->GetRegisterInfoByName (" r2" , 0 );
@@ -860,10 +858,10 @@ ValueObjectSP ABISysV_mips::GetReturnValueObjectImpl(
860858 return_valobj_sp = ValueObjectMemory::Create (
861859 &thread, " " , Address (mem_address, nullptr ), return_compiler_type);
862860 return return_valobj_sp;
863- } else if (return_compiler_type.IsFloatingPointType (count, is_complex)) {
861+ } else if (return_compiler_type.IsFloatingPointType (is_complex)) {
864862 if (IsSoftFloat (fp_flag)) {
865863 uint64_t raw_value = reg_ctx->ReadRegisterAsUnsigned (r2_reg_info, 0 );
866- if (count != 1 && is_complex)
864+ if (!return_compiler_type. IsVectorType () || is_complex)
867865 return return_valobj_sp;
868866 switch (*bit_width) {
869867 default :
@@ -896,7 +894,7 @@ ValueObjectSP ABISysV_mips::GetReturnValueObjectImpl(
896894 f0_value.GetData (f0_data);
897895 lldb::offset_t offset = 0 ;
898896
899- if (count == 1 && !is_complex) {
897+ if (!return_compiler_type. IsVectorType () && !is_complex) {
900898 switch (*bit_width) {
901899 default :
902900 return return_valobj_sp;
0 commit comments