[llvm-commits] [llvm-gcc-4.2] r111548 - in /llvm-gcc-4.2/trunk/gcc/config/alpha: alpha.h llvm-alpha-target.h llvm-alpha.cpp

Andrew Lenharth andrewl at lenharth.org
Thu Aug 19 12:20:34 PDT 2010


Author: alenhar2
Date: Thu Aug 19 14:20:34 2010
New Revision: 111548

URL: http://llvm.org/viewvc/llvm-project?rev=111548&view=rev
Log:
move llvm alpha include and handle (once target independent changes go in) shadow i128 returns

Added:
    llvm-gcc-4.2/trunk/gcc/config/alpha/llvm-alpha-target.h
Modified:
    llvm-gcc-4.2/trunk/gcc/config/alpha/alpha.h
    llvm-gcc-4.2/trunk/gcc/config/alpha/llvm-alpha.cpp

Modified: llvm-gcc-4.2/trunk/gcc/config/alpha/alpha.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/alpha/alpha.h?rev=111548&r1=111547&r2=111548&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/alpha/alpha.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/alpha/alpha.h Thu Aug 19 14:20:34 2010
@@ -24,6 +24,9 @@
 #ifdef ENABLE_LLVM
 #undef TARGET_LONG_DOUBLE_128
 #define TARGET_LONG_DOUBLE_128 0
+
+#include "llvm-alpha-target.h"
+
 #endif
 /* LLVM LOCAL end */
 
@@ -1599,28 +1602,3 @@
 /* The system headers under Alpha systems are generally C++-aware.  */
 #define NO_IMPLICIT_EXTERN_C
 
-/* LLVM LOCAL begin */
-#ifdef ENABLE_LLVM
-
-/* LLVM_TARGET_INTRINSIC_PREFIX - Specify what prefix this target uses for its
- * intrinsics.
- */
-#define LLVM_TARGET_INTRINSIC_PREFIX "alpha"
-
-/* LLVM_TARGET_NAME - This specifies the name of the target, which correlates to
- * the llvm::InitializeXXXTarget() function.
- */
-#define LLVM_TARGET_NAME Alpha
-
-#define TARGET_ALPHA
-
-/* LLVM_TARGET_INTRINSIC_LOWER - To handle builtins, we want to expand the
- * invocation into normal LLVM code.  If the target can handle the builtin, this
- * macro should call the target TreeToLLVM::TargetIntrinsicLower method and
- *  return true.This macro is invoked from a method in the TreeToLLVM class.
- */
-#define LLVM_TARGET_INTRINSIC_LOWER(EXP, BUILTIN_CODE, DESTLOC, RESULT,       \
-                                    DESTTY, OPS)                              \
-        TargetIntrinsicLower(EXP, BUILTIN_CODE, DESTLOC, RESULT, DESTTY, OPS);
-#endif /* ENABLE_LLVM */
-/* LLVM LOCAL end */

Added: llvm-gcc-4.2/trunk/gcc/config/alpha/llvm-alpha-target.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/alpha/llvm-alpha-target.h?rev=111548&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/alpha/llvm-alpha-target.h (added)
+++ llvm-gcc-4.2/trunk/gcc/config/alpha/llvm-alpha-target.h Thu Aug 19 14:20:34 2010
@@ -0,0 +1,38 @@
+/* LLVM LOCAL begin (ENTIRE FILE!)  */
+#ifdef ENABLE_LLVM
+
+
+/* LLVM_TARGET_INTRINSIC_PREFIX - Specify what prefix this target uses for its
+ * intrinsics.
+ */
+#define LLVM_TARGET_INTRINSIC_PREFIX "alpha"
+
+/* LLVM_TARGET_NAME - This specifies the name of the target, which correlates to
+ * the llvm::InitializeXXXTarget() function.
+ */
+#define LLVM_TARGET_NAME Alpha
+
+#define TARGET_ALPHA
+
+/* LLVM_TARGET_INTRINSIC_LOWER - To handle builtins, we want to expand the
+ * invocation into normal LLVM code.  If the target can handle the builtin, this
+ * macro should call the target TreeToLLVM::TargetIntrinsicLower method and
+ *  return true.This macro is invoked from a method in the TreeToLLVM class.
+ */
+#define LLVM_TARGET_INTRINSIC_LOWER(EXP, BUILTIN_CODE, DESTLOC, RESULT,       \
+                                    DESTTY, OPS)                              \
+        TargetIntrinsicLower(EXP, BUILTIN_CODE, DESTLOC, RESULT, DESTTY, OPS);
+
+#ifdef LLVM_ABI_H
+
+extern bool llvm_alpha_should_return_scalar_as_shadow(const Type* Ty);
+
+/* check if i128 should be a shadow return */
+#define LLVM_SHOULD_RETURN_SCALAR_AS_SHADOW(X) \
+  llvm_alpha_should_return_scalar_as_shadow(X)
+
+#endif /* LLVM_ABI_H */
+
+#endif /* ENABLE_LLVM */
+/* LLVM LOCAL end (ENTIRE FILE!)  */
+

Modified: llvm-gcc-4.2/trunk/gcc/config/alpha/llvm-alpha.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/alpha/llvm-alpha.cpp?rev=111548&r1=111547&r2=111548&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/alpha/llvm-alpha.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/config/alpha/llvm-alpha.cpp Thu Aug 19 14:20:34 2010
@@ -183,5 +183,11 @@
 
   return false;
 }
+#include <iostream>
+bool llvm_alpha_should_return_scalar_as_shadow(const Type* Ty) {
+  if (Ty && Ty->isIntegerTy(128))
+    return true;
+  return false;
+}
 
 /* LLVM LOCAL end (ENTIRE FILE!)  */





More information about the llvm-commits mailing list