1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
Go to file
Philip Reames e6018c48b2 [SimplifyCFG] Use a (trivially) dominanting widenable branch to remove later slow path blocks
This transformation is a variation on the GuardWidening transformation we have checked in as it's own pass. Instead of focusing on merge (i.e. hoisting and simplifying) two widenable branches, this transform makes the observation that simply removing a second slowpath block (by reusing an existing one) is often a very useful canonicalization. This may lead to later merging, or may not. This is a useful generalization when the intermediate block has loads whose dereferenceability is hard to establish.

As noted in the patch, this can be generalized further, and will be.

Differential Revision: https://reviews.llvm.org/D69689
2019-11-04 11:03:28 -08:00
benchmarks
bindings Update version number in llvm python bindings 2019-10-25 17:14:11 -04:00
cmake Revert "[NFC] Rename LLVM_NO_DEAD_STRIP" 2019-10-30 14:56:20 -04:00
docs Recommit "[CodeView] Add option to disable inline line tables." 2019-11-04 09:15:26 -08:00
examples Break out OrcError and RPC 2019-10-29 17:31:28 -07:00
include createMCObjectStreamer - fix uninitialized variable warning. NFCI. 2019-11-04 17:24:34 +00:00
lib [SimplifyCFG] Use a (trivially) dominanting widenable branch to remove later slow path blocks 2019-11-04 11:03:28 -08:00
projects Add few docs and implementation of strcpy and strcat. 2019-10-04 17:30:54 +00:00
resources
runtimes Adding support for overriding LLVM_ENABLE_RUNTIMES for runtimes builds. 2019-09-24 22:38:18 +00:00
test [SimplifyCFG] Use a (trivially) dominanting widenable branch to remove later slow path blocks 2019-11-04 11:03:28 -08:00
tools [llvm-readobj] Change errors to warnings for symbol section name dumping 2019-11-04 12:04:04 +00:00
unittests Revert "[LV] Apply sink-after & interleave-groups as VPlan transformations (NFC)" 2019-11-04 15:04:42 +01:00
utils [lit] Move measurement of testing time out of Run.execute 2019-11-04 10:16:24 -08:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes Fix the "git modified" issue on the preserve-comments-crlf.s. 2019-09-10 12:17:49 +00:00
.gitignore
CMakeLists.txt build: remove LLVM_CXX_STD extension point 2019-10-25 11:51:47 -07:00
CODE_OWNERS.TXT
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt Test commit. 2019-10-03 14:57:49 +00: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.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.