Back to All
Developer Blog

Announcing an Open Source LLVM toolchain for Snapdragon CPUs and MCUs

Sign up for Developer monthly newsletter-image

Sign up for Developer monthly newsletter

Join thousands of developers around the globe who receive latest news and updates from our monthly curated newsletter.

Sign up
Come for support, stay for the community-image

Come for support, stay for the community

Get support from experts, connect with like-minded developers, and access exclusive virtual events.

Join Developer Discord

We are excited to introduce CPULLVM, a new open source project to build open source LLVM toolchains for Arm and RISC-V 32- and 64-bit targets. This marks a major shift as we move away from the Snapdragon LLVM Compiler (previously a proprietary LLVM toolchain for Snapdragon Software Products) toward a fully open source solution accessible to Qualcomm teams, third parties, OEMs, and partners.

The CPULLVM toolchain delivers the same robust support as our former proprietary solution, empowering users to build Arm, AArch64, and RISC-V 32- and 64-bit embedded images.

 

Compiler toolchains are essential components of the software ecosystem, encompassing not only compilers but also libraries, headers, linkers, and other related tools.

For many years, Qualcomm has made significant investments in C/C++ compilers, embedded linkers, and complete toolchain solutions, culminating in the development of our proprietary LLVM toolchain for Snapdragon Software Products.

To better meet our customers’ needs and remain true to our open source-first strategy, we have shifted from using a proprietary solution to adopting a fully open source approach.

Components

The CPULLVM toolchain is primarily constructed using LLVM technologies and tools. It features the Clang C and C++ compilers, the libcxx and compiler-rt libraries, and the LLDB debugger, along with a variety of other LLVM-based utilities for building and analyzing programs.

Drawing on our extensive experience with the Polly polyhedral optimizer, we have also integrated it into our toolchain.

Additionally, the toolchain includes ELD, our open source embedded linker. For bare metal targets, we rely on the picolibc open source C library, while for Linux target testing and validation purposes, we use musl open source C library.

These components allow CPULLVM to effectively handle embedded image requirements, including support for embedded bare metal (i.e., non-HLOS) and Zephyr images.

Development Model

Our approach aligns with other well-known open source LLVM toolchain projects— all our LLVM development is conducted within the llvm.org open source LLVM project. New features for CPULLVM are always contributed and integrated into llvm.org’s LLVM first. In addition, CPULLVM offers a customer support model.

This means it may include patches that have already been submitted upstream but are not yet part of an official llvm.org ‘s LLVM release, allowing us to address customer issues efficiently and promptly.

CPULLVM releases will follow llvm.org open source LLVM releases—typically scheduled in March and September—by a few weeks. Our first toolchain release, based on llvm.org’s LLVM 22.1.0, was made available on March 17th, 2026.

Supported Targets and Hosts

CPULLVM toolchain supports the following targets:

  • AArch64 bare metal and Linux
  • Arm bare metal and Linux
  • RISC-V 32- and 64-bit bare metal and Linux

It is available for the following platforms:

  • Linux x86_64
  • Linux AArch64
  • Windows x86_64
  • Windows ARM64

CPULLVM 22.1.0 Release Details

The release is accessible on GitHub via the CPULLVM repository including the release source code aligned with llvm.org, pre-built release binaries for different hosts, multi-level project documentation, building from source recipes and release notes.

These resources enable customers to easily download, build, or customize the toolchain to meet their specific needs.

For information on how to get involved, please review  the rules in contributing to the CPULLVM project.

When submitting issues, make sure to follow the guidelines in reporting issues.

Acknowledgements

We sincerely appreciate the contributions of the open source community, including LLVM, picolibc, musl, ELD, and Arm Toolchain for Embedded (ATfE), for their dedicated efforts over the past several years. Their work has been instrumental in making it possible to release a fully open source toolchain.

Get started with our open source CPULLVM toolchain—now available on Github.

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries ("Qualcomm"). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.

Qualcomm-branded products are products of Qualcomm Technologies, Inc. and/or its subsidiaries.

About the Author
Ana Pazos
Ana PazosDirector of Engineering, Qualcomm Technologies, Inc.
Qualcomm relentlessly innovates to deliver intelligent computing everywhere, helping the world tackle some of its most important challenges. Our leading-edge AI, high performance, low-power computing, and unrivaled connectivity deliver proven solutions that transform major industries. At Qualcomm, we are engineering human progress.

Stay connected

Get the latest Qualcomm and industry information delivered to your inbox.

Subscribe
Manage your subscription

© Qualcomm Technologies, Inc. and/or its affiliated companies.

Snapdragon and Qualcomm branded products are products of Qualcomm Technologies, Inc. and/or its subsidiaries. Qualcomm patented technologies are licensed by Qualcomm Incorporated.

Note: Certain services and materials may require you to accept additional terms and conditions before accessing or using those items.

References to "Qualcomm" may mean Qualcomm Incorporated, or subsidiaries or business units within the Qualcomm corporate structure, as applicable.

Qualcomm Incorporated includes our licensing business, QTL, and the vast majority of our patent portfolio. Qualcomm Technologies, Inc., a subsidiary of Qualcomm Incorporated, operates, along with its subsidiaries, substantially all of our engineering, research and development functions, and substantially all of our products and services businesses, including our QCT semiconductor business.

Materials that are as of a specific date, including but not limited to press releases, presentations, blog posts and webcasts, may have been superseded by subsequent events or disclosures.

Nothing in these materials is an offer to sell or license any of the services or materials referenced herein.