llvm-project/llvm
Florian Hahn 2d7227ec3a [GVN] Preserve loop related analysis/canonical forms.
LoopInfo can be easily preserved by passing it to the functions that
modify the CFG (SplitCriticalEdge and MergeBlockIntoPredecessor.
SplitCriticalEdge also preserves LoopSimplify and LCSSA form when when passing in
LoopInfo. The test case shows that we preserve LoopSimplify and
LoopInfo. Adding addPreservedID(LCSSAID) did not preserve LCSSA for some
reason.

Also I am not sure if it is possible to preserve those in the new pass
manager, as they aren't analysis passes.

Reviewers: reames, hfinkel, davide, jdoerfert

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D65137

llvm-svn: 367332
2019-07-30 16:43:39 +00:00
..
benchmarks
bindings
cmake [CMake] Define _FILE_OFFSET_BITS=64 on Solaris 2019-07-30 10:33:20 +00:00
docs [Remarks] Add two serialization modes for remarks: separate and standalone 2019-07-30 16:01:40 +00:00
examples [ORC] Add deprecation warnings to ORCv1 layers and utilities. 2019-07-17 16:40:52 +00:00
include [GVN] Preserve loop related analysis/canonical forms. 2019-07-30 16:43:39 +00:00
lib [GVN] Preserve loop related analysis/canonical forms. 2019-07-30 16:43:39 +00:00
projects Revert "[libc++] Integrate the PSTL into libc++" 2019-07-19 18:52:46 +00:00
resources
runtimes
test [GVN] Preserve loop related analysis/canonical forms. 2019-07-30 16:43:39 +00:00
tools Revert "[llvm-objdump] Add warning messages if disassembly + source for problematic inputs" 2019-07-30 07:05:27 +00:00
unittests [Remarks] Add two serialization modes for remarks: separate and standalone 2019-07-30 16:01:40 +00:00
utils AMDGPU: Avoid emitting "true" predicates 2019-07-30 15:56:43 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [CMake] Define _FILE_OFFSET_BITS=64 on Solaris 2019-07-30 10:33:20 +00:00
CODE_OWNERS.TXT Update email address in CODE_OWNERS 2019-07-01 16:01:15 +00:00
CREDITS.TXT Update email address. 2019-07-17 07:02:02 +00:00
LICENSE.TXT
LLVMBuild.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.