llvm with tablegen backend for capstone disassembler
Go to file
Craig Topper b64ddae8a2 [RISCV] Lower experimental_get_vector_length intrinsic to vsetvli for some cases.
This patch lowers to vsetvli when the AVL is i32 or XLenVT and
the VF is a power of 2 in the range [1, 64]. VLEN=32 is not supported
as we don't have a valid type mapping for that. VF=1 is not supported
with Zve32* only.

The element width is used to set the SEW for the vsetvli if possible.
Otherwise we use SEW=8.

Reviewed By: reames

Differential Revision: https://reviews.llvm.org/D150824
2023-06-05 15:02:11 -07:00
.github/workflows workflows/release-tasks: Upload lit releases to pypi 2023-05-31 09:25:19 -07:00
bolt [BOLT][NFC] Drop MMap events for deleted files 2023-06-05 13:03:40 -07:00
clang [Driver] Allow -fsanitize=kcfi with -fsanitize-minimal-runtime 2023-06-05 20:39:45 +00:00
clang-tools-extra [clangd] Move completion signatures and labelDetails 2023-06-05 18:05:18 +02:00
cmake [CMake] Ensure CLANG_RESOURCE_DIR is respected. 2023-06-03 04:21:35 -07:00
compiler-rt Reland [compiler-rt][CMake] Properly set COMPILER_RT_HAS_LLD 2023-06-05 14:35:52 -07:00
cross-project-tests [Dexter] XFAIL Dexter tests for Apple Silicon (arm64) 2023-05-26 15:43:20 -07:00
flang [flang] Fix crash from bug#63099 (gfortran/regression/oldstyle_3.f90) 2023-06-05 12:27:50 -07:00
libc Revert D148717 "[libc] Improve memcmp latency and codegen" 2023-06-05 09:50:30 +00:00
libclc Reland "[CMake] Bumps minimum version to 3.20.0. 2023-05-27 12:51:21 +02:00
libcxx Revert "[libc++] Optimize for_each for segmented iterators" 2023-06-05 10:00:02 -07:00
libcxxabi remove Demangle/StringView.h 2023-06-01 10:13:33 -07:00
libunwind [libunwind] Removes CMake work-arounds. 2023-06-05 17:42:37 +02:00
lld [lld] StringRef::{starts,ends}with => {starts,ends}_with. NFC 2023-06-05 14:36:19 -07:00
lldb [lldb][NFCI] Change the way Process stores StructuredData plugins 2023-06-05 13:49:58 -07:00
llvm [RISCV] Lower experimental_get_vector_length intrinsic to vsetvli for some cases. 2023-06-05 15:02:11 -07:00
llvm-libgcc Reland "[CMake] Bumps minimum version to 3.20.0. 2023-05-27 12:51:21 +02:00
mlir Fix MLIR build with Shared lib enabled 2023-06-05 12:10:24 -07:00
openmp [CMake] Ensure CLANG_RESOURCE_DIR is respected. 2023-06-03 04:21:35 -07:00
polly [SCEV] Compute AddRec range computations using different type BECount 2023-05-31 21:05:17 -07:00
pstl Reland "[CMake] Bumps minimum version to 3.20.0. 2023-05-27 12:51:21 +02:00
runtimes Reland "[CMake] Bumps minimum version to 3.20.0. 2023-05-27 12:51:21 +02:00
third-party [NFC][Py Reformat] Reformat python files in the rest of the dirs 2023-05-25 11:17:05 +02:00
utils [bazel] Merge BytecodeOpInterface target into IR. 2023-06-05 11:57:12 +02:00
.arcconfig
.arclint
.clang-format
.clang-tidy
.git-blame-ignore-revs [NFC] Add mlir python reformat SHA to .git-blame-ignore-revs 2023-05-26 08:06:03 +02:00
.gitignore
.mailmap
CONTRIBUTING.md
LICENSE.TXT
README.md
SECURITY.md

The LLVM Compiler Infrastructure

Welcome to the LLVM project!

This repository contains the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments.

The LLVM project has multiple components. The core of the project is itself called "LLVM". This contains all of the tools, libraries, and header files needed to process intermediate representations and convert them into object files. Tools include an assembler, disassembler, bitcode analyzer, and bitcode optimizer.

C-like languages use the Clang frontend. This component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode -- and from there into object files, using LLVM.

Other components include: the libc++ C++ standard library, the LLD linker, and more.

Getting the Source Code and Building LLVM

Consult the Getting Started with LLVM page for information on building and running LLVM.

For information on how to contribute to the LLVM project, please take a look at the Contributing to LLVM guide.

Getting in touch

Join the LLVM Discourse forums, Discord chat, or #llvm IRC channel on OFTC.

The LLVM project has adopted a code of conduct for participants to all modes of communication within the project.