llvm-project/llvm
Johannes Doerfert f44f60a297 [Attributor] Avoid replacing return operands twice
As replacements will become more complex it is better to have a single
AA responsible for replacing a use. Before this patch AAValueSimplify*
and AAValueSimplifyReturned could both try to replace the returned
value. The latter was marginally better for the old pass manager
when a function was already carrying a `returned` attribute and when
the context of the return instruction was important. The second
shortcoming was resolved by looking for return attributes in the
AAValueSimplifyCallSiteReturned initialization. The old PM impact is
not concerning.

This is yet another step towards the removal of AAReturnedValues, the
very first AA we should now try to eliminate due to the overlapping
logic with value simplification.
2022-03-11 21:55:19 -06:00
..
benchmarks
bindings [SanitizerBounds] Add support for NoSanitizeBounds function 2022-03-01 18:47:02 +01:00
cmake [CMake] Rename TARGET_TRIPLE to LLVM_TARGET_TRIPLE 2022-03-11 15:43:01 -08:00
docs [docs] Update opaque pointers transition state (NFC) 2022-03-11 09:35:38 +01:00
examples Cleanup includes: LLVMTarget 2022-03-10 10:00:29 +01:00
include [NFC] Improve comment and rename test file 2022-03-11 14:47:54 -08:00
lib [Attributor] Avoid replacing return operands twice 2022-03-11 21:55:19 -06:00
projects
resources
runtimes [CMake] Rename TARGET_TRIPLE to LLVM_TARGET_TRIPLE 2022-03-11 15:43:01 -08:00
test [Attributor] Avoid replacing return operands twice 2022-03-11 21:55:19 -06:00
tools Return an error when dsymutil might produce an invalid mach-o file. 2022-03-11 10:00:39 -08:00
unittests [CommandLine] Remove `may only occur zero or one times!` error 2022-03-11 11:25:04 -08:00
utils [gn build] Port ee0f8c4010 2022-03-12 00:46:45 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [CMake] Rename TARGET_TRIPLE to LLVM_TARGET_TRIPLE 2022-03-11 15:43:01 -08:00
CODE_OWNERS.TXT [CODE_OWNERS/CREDITS] Update my email address 2022-03-07 10:53:29 +00:00
CREDITS.TXT [CODE_OWNERS/CREDITS] Update my email address 2022-03-07 10:53:29 +00:00
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.