blob: 4ae7eaf9b083a570df38fe2f5a82b8963bf38267 [file] [log] [blame] [view]
Greg Bedwell0dc62492018-10-19 00:03:011# The LLVM Compiler Infrastructure
James Y Knightec937b92017-10-19 21:09:492
Diogo Teles Sant'Anna0d3377c2023-11-01 18:08:263[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/llvm/llvm-project/badge)](https://securityscorecards.dev/viewer/?uri=github.com/llvm/llvm-project)
4
Meike Baumgärtnerda6384f2019-10-24 01:03:375Welcome to the LLVM project!
6
Arthur Eubanks65548ff2023-03-06 19:45:237This repository contains the source code for LLVM, a toolkit for the
8construction of highly optimized compilers, optimizers, and run-time
9environments.
10
Meike Baumgärtnerda6384f2019-10-24 01:03:3711The LLVM project has multiple components. The core of the project is
12itself called "LLVM". This contains all of the tools, libraries, and header
Paul Robinson47a11a92021-05-12 15:48:5013files needed to process intermediate representations and convert them into
Priyansh Singh1cb29912022-03-31 11:35:4014object files. Tools include an assembler, disassembler, bitcode analyzer, and
Arthur Eubanks65548ff2023-03-06 19:45:2315bitcode optimizer.
Meike Baumgärtnerda6384f2019-10-24 01:03:3716
Priyansh Singh1cb29912022-03-31 11:35:4017C-like languages use the [Clang](http://clang.llvm.org/) frontend. This
Austin Conlon59dd6252020-04-07 06:36:4918component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode
Meike Baumgärtnerda6384f2019-10-24 01:03:3719-- and from there into object files, using LLVM.
20
21Other components include:
22the [libc++ C++ standard library](https://libcxx.llvm.org),
23the [LLD linker](https://lld.llvm.org), and more.
24
Arthur Eubanks65548ff2023-03-06 19:45:2325## Getting the Source Code and Building LLVM
Meike Baumgärtnerda6384f2019-10-24 01:03:3726
27Consult the
Arthur Eubanks65548ff2023-03-06 19:45:2328[Getting Started with LLVM](https://llvm.org/docs/GettingStarted.html#getting-the-source-code-and-building-llvm)
29page for information on building and running LLVM.
30
31For information on how to contribute to the LLVM project, please take a look at
32the [Contributing to LLVM](https://llvm.org/docs/Contributing.html) guide.
Sylvestre Ledrued76de72022-02-08 20:54:3233
34## Getting in touch
35
Arthur Eubanks65548ff2023-03-06 19:45:2336Join the [LLVM Discourse forums](https://discourse.llvm.org/), [Discord
Kristof Beyls1914bcf2023-10-27 07:45:1037chat](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 Ledrued76de72022-02-08 20:54:3240
41The LLVM project has adopted a [code of conduct](https://llvm.org/docs/CodeOfConduct.html) for
42participants to all modes of communication within the project.