r197024 - Turning IAS on by default on ARM/Thumb

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed Dec 11 15:35:00 PST 2013


Nice!

On 11 December 2013 04:35, Renato Golin <renato.golin at linaro.org> wrote:
> Author: rengolin
> Date: Wed Dec 11 03:35:10 2013
> New Revision: 197024
>
> URL: http://llvm.org/viewvc/llvm-project?rev=197024&view=rev
> Log:
> Turning IAS on by default on ARM/Thumb
>
> This is an experimental feature, where -integrated-as will be
> on by default on ARM/Thumb. We aim to detect the missing features
> so that the next release is stable.
>
> Updating the ReleaseNotes, too.
>
> Also moving the AArch64 into the same place.
>
> Modified:
>     cfe/trunk/docs/ReleaseNotes.rst
>     cfe/trunk/lib/Driver/ToolChains.cpp
>     cfe/trunk/lib/Driver/ToolChains.h
>     cfe/trunk/test/Driver/freebsd.c
>
> Modified: cfe/trunk/docs/ReleaseNotes.rst
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNotes.rst?rev=197024&r1=197023&r2=197024&view=diff
> ==============================================================================
> --- cfe/trunk/docs/ReleaseNotes.rst (original)
> +++ cfe/trunk/docs/ReleaseNotes.rst Wed Dec 11 03:35:10 2013
> @@ -64,7 +64,16 @@ New Compiler Flags
>  C Language Changes in Clang
>  ---------------------------
>
> -...
> +The integrated assembler is now turned on by default on ARM (and Thumb),
> +so the use of the option `-integrated-as` is now redundant on those
> +architectures. This is an important move to both *eat our own dog food*
> +and to ease cross-compilation tremendously.
> +
> +We are aware of the problems that this may cause for code bases that
> +rely on specific GNU syntax or extensions, and we're working towards
> +getting them all fixed. Please, report bugs or feature requests if
> +you find anything. In the meantime, use `-no-integrated-as` to revert
> +back the call to GNU assembler.
>
>  C11 Feature Support
>  ^^^^^^^^^^^^^^^^^^^
>
> Modified: cfe/trunk/lib/Driver/ToolChains.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=197024&r1=197023&r2=197024&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains.cpp Wed Dec 11 03:35:10 2013
> @@ -1611,7 +1611,10 @@ bool Generic_GCC::isPICDefaultForced() c
>
>  bool Generic_GCC::IsIntegratedAssemblerDefault() const {
>    return getTriple().getArch() == llvm::Triple::x86 ||
> -    getTriple().getArch() == llvm::Triple::x86_64;
> +         getTriple().getArch() == llvm::Triple::x86_64 ||
> +         getTriple().getArch() == llvm::Triple::aarch64 ||
> +         getTriple().getArch() == llvm::Triple::arm ||
> +         getTriple().getArch() == llvm::Triple::thumb;
>  }
>
>  /// Hexagon Toolchain
>
> Modified: cfe/trunk/lib/Driver/ToolChains.h
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.h?rev=197024&r1=197023&r2=197024&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains.h (original)
> +++ cfe/trunk/lib/Driver/ToolChains.h Wed Dec 11 03:35:10 2013
> @@ -413,12 +413,6 @@ public:
>    Generic_ELF(const Driver &D, const llvm::Triple &Triple,
>                const llvm::opt::ArgList &Args)
>        : Generic_GCC(D, Triple, Args) {}
> -
> -  virtual bool IsIntegratedAssemblerDefault() const {
> -    if (getTriple().getArch() == llvm::Triple::aarch64)
> -      return true;
> -    return Generic_GCC::IsIntegratedAssemblerDefault();
> -  }
>  };
>
>  class LLVM_LIBRARY_VISIBILITY AuroraUX : public Generic_GCC {
>
> Modified: cfe/trunk/test/Driver/freebsd.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/freebsd.c?rev=197024&r1=197023&r2=197024&view=diff
> ==============================================================================
> --- cfe/trunk/test/Driver/freebsd.c (original)
> +++ cfe/trunk/test/Driver/freebsd.c Wed Dec 11 03:35:10 2013
> @@ -97,12 +97,12 @@
>  // CHECK-NORMAL: crt1.o
>  // CHECK-NORMAL: crtbegin.o
>
> -// RUN: %clang %s -### -o %t.o -target arm-unknown-freebsd10.0 2>&1 \
> +// RUN: %clang %s -### -o %t.o -target arm-unknown-freebsd10.0 -no-integrated-as 2>&1 \
>  // RUN:   | FileCheck --check-prefix=CHECK-ARM %s
>  // CHECK-ARM: clang{{.*}}" "-cc1"{{.*}}" "-fsjlj-exceptions"
>  // CHECK-ARM: as{{.*}}" "-mfpu=softvfp"{{.*}}"-matpcs"
>
> -// RUN: %clang %s -### -o %t.o -target arm-gnueabi-freebsd10.0 2>&1 \
> +// RUN: %clang %s -### -o %t.o -target arm-gnueabi-freebsd10.0 -no-integrated-as 2>&1 \
>  // RUN:   | FileCheck --check-prefix=CHECK-ARM-EABI %s
>  // CHECK-ARM-EABI-NOT: clang{{.*}}" "-cc1"{{.*}}" "-fsjlj-exceptions"
>  // CHECK-ARM-EABI: as{{.*}}" "-mfpu=softvfp" "-meabi=5"
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list