[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