Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
Tools, Software and IDEs blog A 21st Century Compiler for 64-bit Architecture
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • Tool
  • ds-5
  • compiler
  • LLVM
  • Armv8
  • development_tool_sw
  • 64-bit
  • arm_compiler
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

A 21st Century Compiler for 64-bit Architecture

Michelle Page-Croft
Michelle Page-Croft
April 2, 2014
2 minute read time.

ARM Compiler 6 is now available, bringing to you a modern, extensible compiler architecture for the next generation of ARM processors. Version 6 of the ARM Compiler adopts the Clang and LLVM compiler framework, which is swiftly gaining momentum as the compiler of choice for advanced code generation. By working with the open source Clang/LLVM, ARM is able to work in cooperation with our partners, accelerating feature creation and code generation efficiency targeting the ARM architecture. Tuning, testing and implementation are all much faster with open source LLVM.

Why is this important to ARM?

ARM has gained success based on partnership. Using an open source framework for the next-generation ARM Compiler, we have opened the door for better collaboration with regard to code generators; a critical component for improving performance and power consumption on ARM processors. ARM has actively contributed to many open source communities for years, but the ARM Compiler was developed alongside the ARM architecture and has always been proprietary. ARM Compiler 6 marks the start of a new generation, channelling open source contributions into an integrated, validated and fully supported commercial product, enabling partners and end users to take advantage of the velocity of open source development and the efficiency of Clang/LLVM.

What’s special about Clang and LLVM?

The flexible and modern Clang and LLVM infrastructure provides a solid foundation for ARM’s code generation tools. Clang is a C/C++ compiler front end based on a modular architecture with well-defined interfaces for applying complimentary tools such as code analyzers and code generators. Clang also offers improved diagnostic capabilities, leading to higher quality code and shorter development cycles.

LLVM is an extensible compiler framework which is well suited for advanced code generation techniques such as link-time code generation. LLVM’s modular framework makes it easier to develop and test new optimizations, leading to better performing code and lower power consumption.

To learn more about Clang & LLVM technology, read Vinod's blog.

What’s special about ARM Compiler 6?

Building on Clang & LLVM, ARM Compiler 6 really does provide the best of both worlds. It delivers efficient code size and performance and comes as an integrated and validated toolchain that works straight out-of-the-box. Benefits include:

  • Tight integration: ARM Compiler 6 is more than just a compiler; it is a full code generation toolchain consisting of compiler, linker, assembler, and libraries. Its integration in the ARM DS-5 Development Studio Ultimate Edition provides a full C/C++ software development environment.
  • Optimized for ARM: Highly optimized libraries provide superior performance and code size for embedded applications, maximizing software performance and reducing costs.
  • Stable and robust: Developed and maintained by ARM experts, ARM Compiler 6 has undergone extensive testing on ARMv8 targets to ensure that it is stable, mature and efficient.
  • Professionally supported and maintained: ARM Compiler 6 and DS-5 are actively supported, validated, documented and maintained by ARM’s globally distributed technical experts, ensuring rapid issue resolution and faster time to market.

Will migrating to ARM Compiler 6 be easy?

Yes, to ensure as smooth a transition as possible, we have put together a comprehensive migration guide which is included within the DS-5 Ultimate Edition installation.

Try DS-5 Ultimate Edition now

To get everything you need to develop for the ARMv8 architecture, request a free 30-day trial of ARM DS-5 Ultimate Edition. Or learn more about ARM Compiler 6 and DS-5 Ultimate Edition.

Anonymous
  • daith
    daith over 9 years ago

    Apple have now released their version of the 64 bit LLVM compiler.

    [Phoronix] Apple Open-Sources Their 64-bit ARM LLVM Back-End

    and there is an effort underway to get the best of both. Both will live and be developed for a while, the Apple one as ARM64 and the ARM one as Aarch64 and they seem to have come to the conclusion that the Apple one will form the basis of the eventual unified compiler and the good bits and the tests from the other one will be incorporated into it.

    LLVM Project Blog: LLVM Weekly - #14, Apr 7th 2014

    The Apple compiler brings some useful optimisations.

    Gmane -- Re: Contributing the Apple ARM64 compiler backend

    There's probably a few things that need doing yet to be a complete replacement for gcc, for instance I noticed this which would probably affect trying to implement the ilp32 option

    Gmane -- Re: 32bit pointers on a pure 64bit architecture

    Overall I think this is a very good move on ARM's part. It allows for collaborative improvement like the Apple merge.

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Tools, Software and IDEs blog
  • What is new in LLVM 16?

    Pablo Barrio
    Pablo Barrio
    Arm contributions from Arm to the new release include the usual architecture and CPU additions and new features such as, function multi-versioning and strict floating point support.
    • May 1, 2023
  • Product update: Arm Development Studio 2023.0 now available

    Ronan Synnott
    Ronan Synnott
    Arm Development Studio 2023.0 now available with support for Arm Neoverse V2 processor.
    • April 27, 2023
  • What is new in LLVM 15?

    Pablo Barrio
    Pablo Barrio
    LLVM 15.0.0 was released on September 6, followed by a series of minor bug-fixing releases. Arm contributed support for new Arm extensions and CPUs.
    • February 27, 2023