Greg Bedwell | 0dc6249 | 2018-10-19 00:03:01 | [diff] [blame] | 1 | # The LLVM Compiler Infrastructure |
James Y Knight | ec937b9 | 2017-10-19 21:09:49 | [diff] [blame] | 2 | |
Diogo Teles Sant'Anna | 0d3377c | 2023-11-01 18:08:26 | [diff] [blame] | 3 | [](https://securityscorecards.dev/viewer/?uri=github.com/llvm/llvm-project) |
Tom Stellard | 01ddc0e | 2024-01-13 15:43:11 | [diff] [blame] | 4 | [](https://www.bestpractices.dev/projects/8273) |
Mark de Wever | f0fd8fd | 2024-01-09 18:12:42 | [diff] [blame] | 5 | [](https://github.com/llvm/llvm-project/actions/workflows/libcxx-build-and-test.yaml?query=event%3Aschedule) |
Diogo Teles Sant'Anna | 0d3377c | 2023-11-01 18:08:26 | [diff] [blame] | 6 | |
Meike Baumgärtner | da6384f | 2019-10-24 01:03:37 | [diff] [blame] | 7 | Welcome to the LLVM project! |
| 8 | |
Arthur Eubanks | 65548ff | 2023-03-06 19:45:23 | [diff] [blame] | 9 | This repository contains the source code for LLVM, a toolkit for the |
| 10 | construction of highly optimized compilers, optimizers, and run-time |
| 11 | environments. |
| 12 | |
Meike Baumgärtner | da6384f | 2019-10-24 01:03:37 | [diff] [blame] | 13 | The LLVM project has multiple components. The core of the project is |
| 14 | itself called "LLVM". This contains all of the tools, libraries, and header |
Paul Robinson | 47a11a9 | 2021-05-12 15:48:50 | [diff] [blame] | 15 | files needed to process intermediate representations and convert them into |
Priyansh Singh | 1cb2991 | 2022-03-31 11:35:40 | [diff] [blame] | 16 | object files. Tools include an assembler, disassembler, bitcode analyzer, and |
Arthur Eubanks | 65548ff | 2023-03-06 19:45:23 | [diff] [blame] | 17 | bitcode optimizer. |
Meike Baumgärtner | da6384f | 2019-10-24 01:03:37 | [diff] [blame] | 18 | |
Frederic Cambus | ca260e1 | 2024-02-17 11:28:31 | [diff] [blame] | 19 | C-like languages use the [Clang](https://clang.llvm.org/) frontend. This |
Austin Conlon | 59dd625 | 2020-04-07 06:36:49 | [diff] [blame] | 20 | component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode |
Meike Baumgärtner | da6384f | 2019-10-24 01:03:37 | [diff] [blame] | 21 | -- and from there into object files, using LLVM. |
| 22 | |
| 23 | Other components include: |
| 24 | the [libc++ C++ standard library](https://libcxx.llvm.org), |
| 25 | the [LLD linker](https://lld.llvm.org), and more. |
| 26 | |
Arthur Eubanks | 65548ff | 2023-03-06 19:45:23 | [diff] [blame] | 27 | ## Getting the Source Code and Building LLVM |
Meike Baumgärtner | da6384f | 2019-10-24 01:03:37 | [diff] [blame] | 28 | |
| 29 | Consult the |
Arthur Eubanks | 65548ff | 2023-03-06 19:45:23 | [diff] [blame] | 30 | [Getting Started with LLVM](https://llvm.org/docs/GettingStarted.html#getting-the-source-code-and-building-llvm) |
| 31 | page for information on building and running LLVM. |
| 32 | |
| 33 | For information on how to contribute to the LLVM project, please take a look at |
| 34 | the [Contributing to LLVM](https://llvm.org/docs/Contributing.html) guide. |
Sylvestre Ledru | ed76de7 | 2022-02-08 20:54:32 | [diff] [blame] | 35 | |
| 36 | ## Getting in touch |
| 37 | |
Arthur Eubanks | 65548ff | 2023-03-06 19:45:23 | [diff] [blame] | 38 | Join the [LLVM Discourse forums](https://discourse.llvm.org/), [Discord |
Kristof Beyls | 1914bcf | 2023-10-27 07:45:10 | [diff] [blame] | 39 | chat](https://discord.gg/xS7Z362), |
| 40 | [LLVM Office Hours](https://llvm.org/docs/GettingInvolved.html#office-hours) or |
| 41 | [Regular sync-ups](https://llvm.org/docs/GettingInvolved.html#online-sync-ups). |
Sylvestre Ledru | ed76de7 | 2022-02-08 20:54:32 | [diff] [blame] | 42 | |
| 43 | The LLVM project has adopted a [code of conduct](https://llvm.org/docs/CodeOfConduct.html) for |
| 44 | participants to all modes of communication within the project. |