|
1 | | -# The LLVM Compiler Infrastructure |
| 1 | +# LLVM fork to work on RISC-V V-ext vectorizing issues |
| 2 | + |
| 3 | +## Repository layout |
| 4 | +TODO |
| 5 | + |
| 6 | +## Getting dev shell |
| 7 | +* Install `nix`: |
| 8 | +``` |
| 9 | +$ sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install) --no-daemon |
| 10 | +``` |
| 11 | +* Enable flakes experimental feature: |
| 12 | +``` |
| 13 | +mkdir ~/.config/nix/ |
| 14 | +echo "experimental-features = nix-command flakes" > ~/.config/nix/nix.conf |
| 15 | +``` |
| 16 | +* Enter to nix shell |
| 17 | +``` |
| 18 | +nix develop |
| 19 | +``` |
| 20 | +* (Optional) Setup [direnv](https://github.com/direnv/direnv) to enter into nix shell automatically |
2 | 21 |
|
3 | | -[](https://securityscorecards.dev/viewer/?uri=github.com/llvm/llvm-project) |
4 | | -[](https://www.bestpractices.dev/projects/8273) |
5 | | -[](https://github.com/llvm/llvm-project/actions/workflows/libcxx-build-and-test.yaml?query=event%3Aschedule) |
6 | | - |
7 | | -Welcome to the LLVM project! |
8 | | - |
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 | | - |
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 |
15 | | -files needed to process intermediate representations and convert them into |
16 | | -object files. Tools include an assembler, disassembler, bitcode analyzer, and |
17 | | -bitcode optimizer. |
18 | | - |
19 | | -C-like languages use the [Clang](https://clang.llvm.org/) frontend. This |
20 | | -component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode |
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 | | - |
27 | | -## Getting the Source Code and Building LLVM |
28 | | - |
29 | | -Consult the |
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. |
35 | | - |
36 | | -## Getting in touch |
37 | | - |
38 | | -Join the [LLVM Discourse forums](https://discourse.llvm.org/), [Discord |
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). |
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. |
0 commit comments