blob: a9b29ecbc1a3a47d781b3a2a4fbb522eada754d0 [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)
Tom Stellard01ddc0e2024-01-13 15:43:114[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/8273/badge)](https://www.bestpractices.dev/projects/8273)
Mark de Weverf0fd8fd2024-01-09 18:12:425[![libc++](https://github.com/llvm/llvm-project/actions/workflows/libcxx-build-and-test.yaml/badge.svg?branch=main&event=schedule)](https://github.com/llvm/llvm-project/actions/workflows/libcxx-build-and-test.yaml?query=event%3Aschedule)
Diogo Teles Sant'Anna0d3377c2023-11-01 18:08:266
Meike Baumgärtnerda6384f2019-10-24 01:03:377Welcome to the LLVM project!
8
Arthur Eubanks65548ff2023-03-06 19:45:239This repository contains the source code for LLVM, a toolkit for the
10construction of highly optimized compilers, optimizers, and run-time
11environments.
12
Meike Baumgärtnerda6384f2019-10-24 01:03:3713The LLVM project has multiple components. The core of the project is
14itself called "LLVM". This contains all of the tools, libraries, and header
Paul Robinson47a11a92021-05-12 15:48:5015files needed to process intermediate representations and convert them into
Priyansh Singh1cb29912022-03-31 11:35:4016object files. Tools include an assembler, disassembler, bitcode analyzer, and
Arthur Eubanks65548ff2023-03-06 19:45:2317bitcode optimizer.
Meike Baumgärtnerda6384f2019-10-24 01:03:3718
Frederic Cambusca260e12024-02-17 11:28:3119C-like languages use the [Clang](https://clang.llvm.org/) frontend. This
Austin Conlon59dd6252020-04-07 06:36:4920component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode
Meike Baumgärtnerda6384f2019-10-24 01:03:3721-- and from there into object files, using LLVM.
22
23Other components include:
24the [libc++ C++ standard library](https://libcxx.llvm.org),
25the [LLD linker](https://lld.llvm.org), and more.
26
Arthur Eubanks65548ff2023-03-06 19:45:2327## Getting the Source Code and Building LLVM
Meike Baumgärtnerda6384f2019-10-24 01:03:3728
29Consult the
Arthur Eubanks65548ff2023-03-06 19:45:2330[Getting Started with LLVM](https://llvm.org/docs/GettingStarted.html#getting-the-source-code-and-building-llvm)
31page for information on building and running LLVM.
32
33For information on how to contribute to the LLVM project, please take a look at
34the [Contributing to LLVM](https://llvm.org/docs/Contributing.html) guide.
Sylvestre Ledrued76de72022-02-08 20:54:3235
36## Getting in touch
37
Arthur Eubanks65548ff2023-03-06 19:45:2338Join the [LLVM Discourse forums](https://discourse.llvm.org/), [Discord
Kristof Beyls1914bcf2023-10-27 07:45:1039chat](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 Ledrued76de72022-02-08 20:54:3242
43The LLVM project has adopted a [code of conduct](https://llvm.org/docs/CodeOfConduct.html) for
44participants to all modes of communication within the project.