10dc6249aSGreg Bedwell# The LLVM Compiler Infrastructure 2ec937b91SJames Y Knight 30d3377c4SDiogo Teles Sant'Anna[](https://securityscorecards.dev/viewer/?uri=github.com/llvm/llvm-project) 401ddc0edSTom Stellard[](https://www.bestpractices.dev/projects/8273) 5f0fd8fd7SMark de Wever[](https://github.com/llvm/llvm-project/actions/workflows/libcxx-build-and-test.yaml?query=event%3Aschedule) 60d3377c4SDiogo Teles Sant'Anna 7da6384fbSMeike BaumgärtnerWelcome to the LLVM project! 8da6384fbSMeike Baumgärtner 965548ff3SArthur EubanksThis repository contains the source code for LLVM, a toolkit for the 1065548ff3SArthur Eubanksconstruction of highly optimized compilers, optimizers, and run-time 1165548ff3SArthur Eubanksenvironments. 1265548ff3SArthur Eubanks 13da6384fbSMeike BaumgärtnerThe LLVM project has multiple components. The core of the project is 14da6384fbSMeike Baumgärtneritself called "LLVM". This contains all of the tools, libraries, and header 1547a11a97SPaul Robinsonfiles needed to process intermediate representations and convert them into 16da6384fbSMeike Baumgärtnerobject files. Tools include an assembler, disassembler, bitcode analyzer, and 1765548ff3SArthur Eubanksbitcode optimizer. 18da6384fbSMeike Baumgärtner 19*ca260e1bSFrederic CambusC-like languages use the [Clang](https://clang.llvm.org/) frontend. This 2059dd6250SAustin Conloncomponent compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode 21da6384fbSMeike Baumgärtner-- and from there into object files, using LLVM. 22da6384fbSMeike Baumgärtner 23da6384fbSMeike BaumgärtnerOther components include: 24da6384fbSMeike Baumgärtnerthe [libc++ C++ standard library](https://libcxx.llvm.org), 25da6384fbSMeike Baumgärtnerthe [LLD linker](https://lld.llvm.org), and more. 26da6384fbSMeike Baumgärtner 2765548ff3SArthur Eubanks## Getting the Source Code and Building LLVM 28da6384fbSMeike Baumgärtner 29da6384fbSMeike BaumgärtnerConsult the 3065548ff3SArthur Eubanks[Getting Started with LLVM](https://llvm.org/docs/GettingStarted.html#getting-the-source-code-and-building-llvm) 3165548ff3SArthur Eubankspage for information on building and running LLVM. 3265548ff3SArthur Eubanks 3365548ff3SArthur EubanksFor information on how to contribute to the LLVM project, please take a look at 3465548ff3SArthur Eubanksthe [Contributing to LLVM](https://llvm.org/docs/Contributing.html) guide. 35ed76de7dSSylvestre Ledru 36ed76de7dSSylvestre Ledru## Getting in touch 37ed76de7dSSylvestre Ledru 3865548ff3SArthur EubanksJoin the [LLVM Discourse forums](https://discourse.llvm.org/), [Discord 391914bcfdSKristof Beylschat](https://discord.gg/xS7Z362), 401914bcfdSKristof Beyls[LLVM Office Hours](https://llvm.org/docs/GettingInvolved.html#office-hours) or 411914bcfdSKristof Beyls[Regular sync-ups](https://llvm.org/docs/GettingInvolved.html#online-sync-ups). 42ed76de7dSSylvestre Ledru 43ed76de7dSSylvestre LedruThe LLVM project has adopted a [code of conduct](https://llvm.org/docs/CodeOfConduct.html) for 44ed76de7dSSylvestre Ledruparticipants to all modes of communication within the project. 45