[llvm-commits] [llvm-gcc-4.2] r50238 - /llvm-gcc-4.2/branches/Apple/Tak/gcc/config/i386/llvm-i386.cpp

Devang Patel dpatel at apple.com
Thu Apr 24 17:01:05 PDT 2008


Author: dpatel
Date: Thu Apr 24 19:01:05 2008
New Revision: 50238

URL: http://llvm.org/viewvc/llvm-project?rev=50238&view=rev
Log:
Fix struct-layout-1.exp tests crashes.

Modified:
    llvm-gcc-4.2/branches/Apple/Tak/gcc/config/i386/llvm-i386.cpp

Modified: llvm-gcc-4.2/branches/Apple/Tak/gcc/config/i386/llvm-i386.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/branches/Apple/Tak/gcc/config/i386/llvm-i386.cpp?rev=50238&r1=50237&r2=50238&view=diff

==============================================================================
--- llvm-gcc-4.2/branches/Apple/Tak/gcc/config/i386/llvm-i386.cpp (original)
+++ llvm-gcc-4.2/branches/Apple/Tak/gcc/config/i386/llvm-i386.cpp Thu Apr 24 19:01:05 2008
@@ -957,6 +957,11 @@
   if (NumClasses == 1 && foundInt)
     return false;
 
+  if (NumClasses == 1 && 
+      (Class[0] == X86_64_INTEGERSI_CLASS || Class[0] == X86_64_INTEGER_CLASS))
+    // This will fit in one i32 register.
+    return false;
+
   // Otherwise, use of multiple value return is OK.
   return true;
 }
@@ -1096,7 +1101,9 @@
     case X86_64_COMPLEX_X87_CLASS:
         assert(0 && "Not yet handled!");
     case X86_64_NO_CLASS:
-        assert(0 && "Not yet handled!");
+      // padding bytes.
+      Elts.push_back(Type::Int64Ty);
+      break;
     default: assert(0 && "Unexpected register class!");
     }
   }





More information about the llvm-commits mailing list