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

Devang Patel dpatel at apple.com
Mon Apr 21 16:05:28 PDT 2008


Author: dpatel
Date: Mon Apr 21 18:05:28 2008
New Revision: 50070

URL: http://llvm.org/viewvc/llvm-project?rev=50070&view=rev
Log:
Enable multiple value return.

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=50070&r1=50069&r2=50070&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 Mon Apr 21 18:05:28 2008
@@ -904,31 +904,20 @@
 // should be returned using multiple value return instruction.
 bool llvm_x86_should_not_return_complex_in_memory(tree type) {
 
-  return false;
-#if 0
   if (!TARGET_64BIT)
     return false;
 
-  if (TREE_CODE(type) == COMPLEX_TYPE)
+  if (TREE_CODE(type) == COMPLEX_TYPE &&
+      TREE_INT_CST_LOW(TYPE_SIZE_UNIT(type)) == 32)
     return true;
 
-  if (AGGREGATE_TYPE_P(type)) {
-    tree field = TYPE_FIELDS(type);
-    if (field && TREE_CHAIN(field) == NULL 
-        && TREE_CODE(TREE_TYPE(field)) == COMPLEX_TYPE)
-      return true;
-  }
   return false;
-#endif
 }
 
 // llvm_suitable_multiple_ret_value_type - Return TRUE if return value 
 // of type TY should be returned using multiple value return instruction.
 static bool llvm_suitable_multiple_ret_value_type(const Type *Ty,
                                                   tree TreeType) {
-  //NOTE: Work in progress. Do not open the flood gate yet.
-  return false; 
-
   if (!TARGET_64BIT)
     return false;
 





More information about the llvm-commits mailing list