llvm-project/llvm
Denis Antrushin 85322e82be [TwoAddressInstructionPass] Special processing of STATEPOINT instruction.
STATEPOINT is a special pseudo instruction which represent Moving GC semantic to LLVM.
Every tied def/use VReg pair in STATEPOINT represent same physical register which can
'magically' change during call wrapped by statepoint.
(By construction, tied use operand  is not live across  STATEPOINT).

This means that when converting into two-address form, there is not need to insert COPY
instruction before stateppoint, what TwoAddressInstruction pass does for 'regular'
instructions.

Reviewed By: MatzeB

Differential Revision: https://reviews.llvm.org/D124631
2022-05-30 19:07:30 +03:00
..
benchmarks
bindings Remove loop-unswitch from various bindings. 2022-04-29 10:53:17 +01:00
cmake Use cmake Python3_EXECUTABLE variable instead of hardcoding 2022-05-26 14:48:45 -07:00
docs [NFC][VP] Fix llvm.vp.merge intrinsic Expansion in LangRef 2022-05-30 01:43:41 +00:00
examples [ORC][examples] Fix off-by-one error when handling null terminators. 2022-05-20 19:33:49 -07:00
include Re-land "[VP] vp intrinsics are not speculatable" with test fix 2022-05-30 14:41:15 +02:00
lib [TwoAddressInstructionPass] Special processing of STATEPOINT instruction. 2022-05-30 19:07:30 +03:00
projects
resources
runtimes Revert "[runtimes] Detect changes to Tests.cmake" 2022-05-26 09:34:18 -07:00
test [TwoAddressInstructionPass] Special processing of STATEPOINT instruction. 2022-05-30 19:07:30 +03:00
tools Revert "[llvm][clang][bolt][NFC] Use llvm::less_first() when applicable" 2022-05-27 11:19:18 +02:00
unittests [ADT] Explicitly delete copy/move constructors and operator= in IntervalMap 2022-05-26 07:58:18 -07:00
utils Change build_llvm_package.bat to build_llvm_release.bat 2022-05-30 17:08:01 +02:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Generalize "check-all" umbrella targets, use for check-clang-tools 2022-05-06 12:30:49 +02:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.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.rst 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.