llvm-project README

The project's README from github.com/llvm/llvm-project. As one markdown file: README.md.

The LLVM Compiler Infrastructure

OpenSSF Scorecard OpenSSF Best Practices libc++

Welcome to the LLVM project!

This repository contains the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments.

The LLVM project has multiple components. The core of the project is itself called "LLVM". This contains all of the tools, libraries, and header files needed to process intermediate representations and convert them into object files. Tools include an assembler, disassembler, bitcode analyzer, and bitcode optimizer.

C-like languages use the Clang frontend. This component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode -- and from there into object files, using LLVM.

Other components include: the libc++ C++ standard library, the LLD linker, and more.

Getting the Source Code and Building LLVM

Consult the Getting Started with LLVM page for information on building and running LLVM.

For information on how to contribute to the LLVM project, please take a look at the Contributing to LLVM guide.

Getting in touch

Join the LLVM Discourse forums, Discord chat, LLVM Office Hours or Regular sync-ups.

The LLVM project has adopted a code of conduct for participants to all modes of communication within the project.

llvm-project (llvm/llvm-project)

Searching Database…

这是什么?LLVM 是一个开源工具包,用于构建高度优化的编译器、优化器和运行时环境;这个仓库存放的就是它的源代码。
这是我要安装的一个程序,还是一组相互独立的部分?是一组组件。其中名为 LLVM 的核心部分包含了各类工具、库和头文件,用来处理中间表示(IR)并把它们转换成目标文件。
我该怎么把它跑起来?这个仓库里没有安装程序:你需要克隆源代码,然后按照 Getting Started with LLVM 指南操作,里面讲了如何构建和运行它。
构建或运行它需要特定的操作系统吗?README 没有规定操作系统要求;该项目的 CI 既在基于 Linux 的容器中构建,也在基于 Windows 的容器中构建,所以 Linux 和 Windows 下的构建会经常得到验证,而 macOS 在这里没有提到。
我可以用 LLVM 来为自己的编程语言做一个编译器吗?这正是它的用途:它提供了库、头文件和处理 IR 的工具,你的编译器就构建在这些东西之上;Clang 就展示了这种模式——它把 C 系语言的代码送入同一条流水线。
整套东西都围绕的这个中间表示(IR)到底是什么?它是整个项目核心的通用低级格式:Clang 这类前端会把你的源代码生成 LLVM bitcode,然后 LLVM 核心再把这份 IR 处理成目标文件。
Creator
llvm
Size
3.9 GB
Stars
41.1K
Age
9y
Commits · 90 Days