llvm with tablegen backend for capstone disassembler
Go to file
Matthias Springer 0f952cfe24
[mlir][IR] Change MutableOperandRange::operator[] to return an OpOperand & (#66515)
`operator[]` returns `OpOperand &` instead of `Value`.

* This allows users to get OpOperands by name instead of "magic" number.
E.g., `extractSliceOp->getOpOperand(0)` can be written as
`extractSliceOp.getSourceMutable()[0]`.
* `OperandRange` provides a read-only API to operands: `operator[]`
returns `Value`. `MutableOperandRange` now provides a mutable API:
`operator[]` returns `OpOperand &`, which can be used to set operands.

Note: The TableGen code generator could be changed to return `OpOperand
&` (instead of `MutableOperandRange`) for non-variadic and non-optional
arguments in a subsequent change. Then the `[0]` part in the above
example would no longer be necessary.
2023-09-18 09:43:03 +02:00
.ci [ci] builkite don't escape windows targets (#66192) 2023-09-13 13:02:55 +02:00
.github workflows/pr-receive: Ignore pull requests with 10 or more commits (#66320) 2023-09-16 07:45:50 -07:00
bolt [BOLT] Incorporate umask into the output file permission 2023-09-17 00:12:52 +08:00
clang [Clang][test] Replace legacy -target with --target=. (#66572) 2023-09-18 15:35:57 +08:00
clang-tools-extra [clang-tidy] Avoid checking magic numbers if _BitInt (#65888) 2023-09-17 14:00:57 -05:00
cmake [CMake] Switch the CMP0091 policy (MSVC_RUNTIME_LIBRARY) to the new behaviour 2023-07-17 09:59:05 +03:00
compiler-rt [NFC][hwasan] Use InternalScopedString in ScopedReport 2023-09-15 23:27:45 -07:00
cross-project-tests Fix Dexter test broken with e6cc7b723f 2023-09-14 09:34:02 -07:00
flang [flang][runtime] zero size allocation in source allocation (#66124) 2023-09-18 08:51:07 +02:00
libc [libc] Add a developer doc about adding new config options. (#66432) 2023-09-15 14:34:25 -07:00
libclc libclc: Fix signed integer underflow in abs_diff 2023-08-31 14:28:16 +01:00
libcxx [libc++] Fix potentially flaky test joinable.pass.cpp 2023-09-16 23:07:46 +01:00
libcxxabi [libc++abi][test][VE] Add UNSUPPORTED to pass tests on VE 2023-09-14 08:13:02 +09:00
libunwind [libunwind] Use __builtin_alloca to avoid missing include 2023-09-12 14:00:03 -04:00
lld [ELF] Make -t work with --format=binary 2023-09-16 00:41:23 -07:00
lldb [lldb] Revive internal data formatter documentation (#66527) 2023-09-15 11:15:13 -07:00
llvm [RISCV] Only emit .option when extension is supported 2023-09-18 00:30:13 -07:00
llvm-libgcc [llvm-libgcc] Don't export __{,de}register_frame_info* and __register_frame_table 2023-08-23 13:00:36 -07:00
mlir [mlir][IR] Change MutableOperandRange::operator[] to return an OpOperand & (#66515) 2023-09-18 09:43:03 +02:00
openmp [NFC][CodeGen] Change CodeGenOpt::Level/CodeGenFileType into enum classes (#66295) 2023-09-14 14:10:14 -07:00
polly [polly][www] Remove unused VideoJS 2023-09-13 12:24:46 -07:00
pstl Clear release notes for 18.x 2023-07-25 13:58:49 +02:00
runtimes [CMake] Remove SetTargetTriple (#66464) 2023-09-14 23:44:13 -07:00
third-party Reland "Update GoogleTest to v1.14.0 (#65823)" 2023-09-13 14:17:24 -07:00
utils [bazel] Port for 88e3358f33 2023-09-18 08:58:07 +02:00
.arcconfig
.arclint
.clang-format
.clang-tidy Add -misc-use-anonymous-namespace to .clang-tidy 2023-05-06 02:33:20 +03:00
.git-blame-ignore-revs Revert "[mlir][spirv] Add D155747 to .git-blame-ignore-revs" 2023-07-21 10:59:16 -04:00
.gitignore Revert accidental .gitignore change from 9b7763821a 2023-09-07 22:42:05 -07:00
.mailmap Add entry to mailmap 2023-04-25 23:15:07 -07:00
CODE_OF_CONDUCT.md [llvm] Add CODE_OF_CONDUCT.md (#65816) 2023-09-09 10:55:31 -07:00
CONTRIBUTING.md Update CONTRIBUTING.md to remove the not about not accepting PR 2023-09-10 15:21:06 -07:00
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.