llvm with tablegen backend for capstone disassembler
Go to file
Philip Reames 0722800289 [RISCV] Match constant indices of non-index type when forming strided ops (#65777)
When checking to see if our index expressions can be converted into strided
operations, we previously gave up if the index type wasn't an exact match for
the intptrty for the address. Per gep semantics, this mismatch implies a sext
or trunc cast to the respective index type. For constants, go ahead and
evaluate that cast instead of giving up.

Note that the motivation of this is mostly test cleanup. We canonicalize at IR
such that the gep index will match the intptrty. This is mostly useful so that
we can write both RV32 and RV64 tests from the same source. Its also helpful in
preventing confusion - I've stumbled across this at least four times now and
wasted time each one.

Note: The test change for scatters unit stride cases contains a minor
regression for rv32 and 64 bit indices.  This is an artifact of order in which
changes are landing.  This will be addressed in a near future change for all
configurations.
2023-09-18 09:41:34 -07: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] fix a relocation bug for R_AARCH64_CALL26 2023-09-18 19:55:35 +08:00
clang [clang][Sema] Remove irrelevant diagnostics from constraint satisfaction failure 2023-09-18 18:14:44 +09: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 [scudo] Use MemMap in Vector 2023-09-18 14:47:39 +02:00
cross-project-tests Fix Dexter test broken with e6cc7b723f 2023-09-14 09:34:02 -07:00
flang [flang] Allow continuation of D lines (#66242) 2023-09-18 09:37:01 -07:00
libc [libc][GPU] Fix dependencies for externally installed stub files (#66653) 2023-09-18 10:15:02 -05:00
libclc libclc: Fix signed integer underflow in abs_diff 2023-08-31 14:28:16 +01:00
libcxx [libc++][lit] Atomically update the persistent cache (#66538) 2023-09-18 12:08:24 -04: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][Docs] Link up the newly restored data formatters page 2023-09-18 13:20:42 +01:00
llvm [RISCV] Match constant indices of non-index type when forming strided ops (#65777) 2023-09-18 09:41:34 -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][sparse] refine sparse fusion with empty tensors materialization (#66563) 2023-09-18 09:01:11 -07:00
openmp [NFC][CodeGen] Change CodeGenOpt::Level/CodeGenFileType into enum classes (#66295) 2023-09-14 14:10:14 -07:00
polly [IR] Remove unnecessary bitcast from CreateMalloc() 2023-09-18 14:58:16 +02: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 [mlir] Fix Bazel build 2023-09-18 16:29:21 +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 [docs] Add LICENSE.txt to the root of the mono-repo 2022-08-24 09:35:00 +02:00
README.md [docs] Update README and GettingStarted 2023-03-08 12:55:59 -08:00
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.