mirror-llvm-project/llvm
Nikita Popov f83ba9d97b
[X86] Fix assertion failure for tail call on i686+pic (#210302)
The pattern for TCRETURNmi has a IsNotPIC predicate, but the
checkTCRetEnoughRegs() predicate that's part of the X86tcret_enough_regs
PatFrag is evaluated first, so we can't assert that PIC is disabled
here. We should just return false in that case.

Fixes https://github.com/llvm/llvm-project/issues/210300.

(cherry picked from commit 23b0281d75)
2026-07-17 17:37:23 +00:00
..
benchmarks [ADT] Fuse the two post-mutation tree walks in ImutAVLFactory (#208907) 2026-07-12 13:56:55 +01:00
bindings
cmake Revert "[cmake] Fix VSINSTALLDIR check in FindDIASDK module (#208524)" (#209137) 2026-07-14 10:19:52 +01:00
docs [AArch64][COFF] Branch-protection=standard/pac-ret means "b-key" on Windows (#203989) 2026-07-17 07:48:53 +00:00
examples
include [AArch64][COFF] Branch-protection=standard/pac-ret means "b-key" on Windows (#203989) 2026-07-17 07:48:53 +00:00
lib [X86] Fix assertion failure for tail call on i686+pic (#210302) 2026-07-17 17:37:23 +00:00
projects
resources
runtimes Revert "Reapply "runtimes: Pass CMAKE_SYSTEM_NAME based on target triple" (#205133) (#205522)" (#208644) 2026-07-10 08:58:58 +00:00
test [X86] Fix assertion failure for tail call on i686+pic (#210302) 2026-07-17 17:37:23 +00:00
tools [SystemZ][z/OS] Add z/OS archive writing support (#200087) 2026-07-13 22:41:24 -04:00
unittests [VPlan] Type VP(Recipe|Block)Ty SubclassID (NFC) (#209132) 2026-07-14 11:40:14 +00:00
utils Bump version to 23.1.0git 2026-07-14 13:24:57 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Revert "[CMake] Use minimum python version of 3.8 everywhere" (#209233) 2026-07-13 16:59:28 +00:00
CMakePresets.json
configure
CREDITS.TXT
LICENSE.TXT
Maintainers.md [LLVM][Maintainers] Volunteer for LoopUnroll (#207802) 2026-07-08 17:35:07 +00:00
README.txt [docs] Rename 22 popular LLVM docs .rst -> .md (#201243) 2026-06-22 16:00:56 -07:00
RELEASE_TESTERS.TXT

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.md for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.