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

Bob Wilson bob.wilson at apple.com
Wed Jun 17 14:17:40 PDT 2009


Anton,

This patch is causing a number of regressions for ARM.  The compiler  
runs OK but the results are not correct.  For example, the  
SingleSource/Benchmarks/Shootout/strcat.c test ends up with most of  
its code incorrectly optimized away.  Both llc and cbe tests fail, but  
it passes without optimization.  Please investigate.  I'm going to  
revert this change for now.

On Jun 16, 2009, at 11:53 AM, Anton Korobeynikov wrote:

> 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!)  */
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list