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) |
| 4 | |
Meike Baumgärtner | da6384f | 2019-10-24 01:03:37 | [diff] [blame] | 5 | Welcome to the LLVM project! |
| 6 | |
Arthur Eubanks | 65548ff | 2023-03-06 19:45:23 | [diff] [blame] | 7 | This repository contains the source code for LLVM, a toolkit for the |
| 8 | construction of highly optimized compilers, optimizers, and run-time |
| 9 | environments. |
| 10 | |
Meike Baumgärtner | da6384f | 2019-10-24 01:03:37 | [diff] [blame] | 11 | The LLVM project has multiple components. The core of the project is |
| 12 | itself called "LLVM". This contains all of the tools, libraries, and header |
Paul Robinson | 47a11a9 | 2021-05-12 15:48:50 | [diff] [blame] | 13 | files needed to process intermediate representations and convert them into |
Priyansh Singh | 1cb2991 | 2022-03-31 11:35:40 | [diff] [blame] | 14 | object files. Tools include an assembler, disassembler, bitcode analyzer, and |
Arthur Eubanks | 65548ff | 2023-03-06 19:45:23 | [diff] [blame] | 15 | bitcode optimizer. |
Meike Baumgärtner | da6384f | 2019-10-24 01:03:37 | [diff] [blame] | 16 | |
Priyansh Singh | 1cb2991 | 2022-03-31 11:35:40 | [diff] [blame] | 17 | C-like languages use the [Clang](http://clang.llvm.org/) frontend. This |
Austin Conlon | 59dd625 | 2020-04-07 06:36:49 | [diff] [blame] | 18 | 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] | 19 | -- and from there into object files, using LLVM. |
| 20 | |
| 21 | Other components include: |
| 22 | the [libc++ C++ standard library](https://libcxx.llvm.org), |
| 23 | the [LLD linker](https://lld.llvm.org), and more. |
| 24 | |
Arthur Eubanks | 65548ff | 2023-03-06 19:45:23 | [diff] [blame] | 25 | ## Getting the Source Code and Building LLVM |
Meike Baumgärtner | da6384f | 2019-10-24 01:03:37 | [diff] [blame] | 26 | |
| 27 | Consult the |
Arthur Eubanks | 65548ff | 2023-03-06 19:45:23 | [diff] [blame] | 28 | [Getting Started with LLVM](https://llvm.org/docs/GettingStarted.html#getting-the-source-code-and-building-llvm) |
| 29 | page for information on building and running LLVM. |
| 30 | |
| 31 | For information on how to contribute to the LLVM project, please take a look at |
| 32 | the [Contributing to LLVM](https://llvm.org/docs/Contributing.html) guide. |
Sylvestre Ledru | ed76de7 | 2022-02-08 20:54:32 | [diff] [blame] | 33 | |
| 34 | ## Getting in touch |
| 35 | |
Arthur Eubanks | 65548ff | 2023-03-06 19:45:23 | [diff] [blame] | 36 | Join the [LLVM Discourse forums](https://discourse.llvm.org/), [Discord |
Kristof Beyls | 1914bcf | 2023-10-27 07:45:10 | [diff] [blame] | 37 | chat](https://discord.gg/xS7Z362), |
| 38 | [LLVM Office Hours](https://llvm.org/docs/GettingInvolved.html#office-hours) or |
| 39 | [Regular sync-ups](https://llvm.org/docs/GettingInvolved.html#online-sync-ups). |
Sylvestre Ledru | ed76de7 | 2022-02-08 20:54:32 | [diff] [blame] | 40 | |
| 41 | The LLVM project has adopted a [code of conduct](https://llvm.org/docs/CodeOfConduct.html) for |
| 42 | participants to all modes of communication within the project. |