[llvm-commits] [llvm-gcc-4.2] r73532 - in /llvm-gcc-4.2/trunk/gcc/config/arm: arm.h llvm-arm-target.h

Anton Korobeynikov asl at math.spbu.ru
Tue Jun 16 11:53:48 PDT 2009


Author: asl
Date: Tue Jun 16 13:53:48 2009
New Revision: 73532

URL: http://llvm.org/viewvc/llvm-project?rev=73532&view=rev
Log:
Generate new ARM calling conventions depending on options, etc.

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

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/arm.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/arm.h?rev=73532&r1=73531&r2=73532&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/arm.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/arm.h Tue Jun 16 13:53:48 2009
@@ -36,6 +36,15 @@
 #endif
 /* LLVM LOCAL end */
 #endif
+
+/* LLVM LOCAL begin */
+#ifdef ENABLE_LLVM
+/* Add general target specific stuff */
+#include "llvm-arm-target.h"
+
+#endif /* ENABLE_LLVM */
+/* LLVM LOCAL end */
+
 /* APPLE LOCAL end ARM darwin target */
 
 /* APPLE LOCAL ARM interworking */

Added: llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm-target.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm-target.h?rev=73532&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm-target.h (added)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm-target.h Tue Jun 16 13:53:48 2009
@@ -0,0 +1,36 @@
+/* LLVM LOCAL begin (ENTIRE FILE!)  */
+#ifdef ENABLE_LLVM
+/* Some target-specific hooks for gcc->llvm conversion
+Copyright (C) 2009 Free Software Foundation, Inc.
+Contributed by Anton Korobeynikov (asl at math.spbu.ru)
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING.  If not, write to the Free
+Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+02111-1307, USA.  */
+
+/* LLVM specific stuff for supporting calling convention output */
+#define TARGET_ADJUST_LLVM_CC(CC, type)				\
+  {								\
+    if (TARGET_AAPCS_BASED)					\
+      CC = (TARGET_VFP && TARGET_HARD_FLOAT_ABI ?		\
+	    CallingConv::ARM_AAPCS_VFP :			\
+	    CallingConv::ARM_AAPCS);				\
+    else							\
+      CC = CallingConv::ARM_APCS;				\
+  }
+
+#endif /* ENABLE_LLVM */
+/* LLVM LOCAL end (ENTIRE FILE!)  */





More information about the llvm-commits mailing list