2018-10-19 00:03:01 +00:00
|
|
|
# The LLVM Compiler Infrastructure
|
2017-10-19 21:09:49 +00:00
|
|
|
|
2023-11-01 15:08:26 -03:00
|
|
|
[](https://securityscorecards.dev/viewer/?uri=github.com/llvm/llvm-project)
|
2024-01-13 07:43:11 -08:00
|
|
|
[](https://www.bestpractices.dev/projects/8273)
|
2024-01-09 19:12:42 +01:00
|
|
|
[](https://github.com/llvm/llvm-project/actions/workflows/libcxx-build-and-test.yaml?query=event%3Aschedule)
|
2023-11-01 15:08:26 -03:00
|
|
|
|
2019-10-23 18:03:37 -07:00
|
|
|
Welcome to the LLVM project!
|
|
|
|
|
2023-03-06 11:45:23 -08:00
|
|
|
This repository contains the source code for LLVM, a toolkit for the
|
|
|
|
construction of highly optimized compilers, optimizers, and run-time
|
|
|
|
environments.
|
|
|
|
|
2019-10-23 18:03:37 -07:00
|
|
|
The LLVM project has multiple components. The core of the project is
|
|
|
|
itself called "LLVM". This contains all of the tools, libraries, and header
|
2021-05-12 08:48:50 -07:00
|
|
|
files needed to process intermediate representations and convert them into
|
2022-03-31 07:35:40 -04:00
|
|
|
object files. Tools include an assembler, disassembler, bitcode analyzer, and
|
2023-03-06 11:45:23 -08:00
|
|
|
bitcode optimizer.
|
2019-10-23 18:03:37 -07:00
|
|
|
|
2024-02-17 12:28:31 +01:00
|
|
|
C-like languages use the [Clang](https://clang.llvm.org/) frontend. This
|
2020-04-06 23:36:49 -07:00
|
|
|
component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode
|
2019-10-23 18:03:37 -07:00
|
|
|
-- and from there into object files, using LLVM.
|
|
|
|
|
|
|
|
Other components include:
|
|
|
|
the [libc++ C++ standard library](https://libcxx.llvm.org),
|
|
|
|
the [LLD linker](https://lld.llvm.org), and more.
|
|
|
|
|
2023-03-06 11:45:23 -08:00
|
|
|
## Getting the Source Code and Building LLVM
|
2019-10-23 18:03:37 -07:00
|
|
|
|
|
|
|
Consult the
|
2023-03-06 11:45:23 -08:00
|
|
|
[Getting Started with LLVM](https://llvm.org/docs/GettingStarted.html#getting-the-source-code-and-building-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](https://llvm.org/docs/Contributing.html) guide.
|
2022-02-08 21:54:32 +01:00
|
|
|
|
|
|
|
## Getting in touch
|
|
|
|
|
2023-03-06 11:45:23 -08:00
|
|
|
Join the [LLVM Discourse forums](https://discourse.llvm.org/), [Discord
|
2023-10-27 09:45:10 +02:00
|
|
|
chat](https://discord.gg/xS7Z362),
|
|
|
|
[LLVM Office Hours](https://llvm.org/docs/GettingInvolved.html#office-hours) or
|
|
|
|
[Regular sync-ups](https://llvm.org/docs/GettingInvolved.html#online-sync-ups).
|
2022-02-08 21:54:32 +01:00
|
|
|
|
|
|
|
The LLVM project has adopted a [code of conduct](https://llvm.org/docs/CodeOfConduct.html) for
|
|
|
|
participants to all modes of communication within the project.
|