[llvm-commits] [llvm-gcc-4.2] r50275 - /llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386.cpp

Bill Wendling isanbard at gmail.com
Fri Apr 25 11:11:52 PDT 2008


Author: void
Date: Fri Apr 25 13:11:52 2008
New Revision: 50275

URL: http://llvm.org/viewvc/llvm-project?rev=50275&view=rev
Log:
Porting r50238 from Tak to mainline.

Modified:
    llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386.cpp

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386.cpp?rev=50275&r1=50274&r2=50275&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386.cpp Fri Apr 25 13:11:52 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