1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
Go to file
Nikita Popov 6a6a8d731b [SCCP] Remove dead switch cases based on range information
Determine whether switch edges are feasible based on range information,
and remove non-feasible edges lateron.

This does not try to determine whether the default edge is dead,
as we'd have to determine that the range is fully covered by the
cases for that.

Another limitation here is that we don't remove dead cases that
have the same successor as a live case. I'm not handling this
because I wanted to keep the edge removal based on feasible edges
only, rather than inspecting ranges again there -- this does not
seem like a particularly useful case to handle.

Differential Revision: https://reviews.llvm.org/D84270
2020-07-30 21:21:08 +02:00
benchmarks
bindings Revert "[IPConstProp] Remove and move tests to SCCP." 2020-07-30 13:06:54 +01:00
cmake On Windows build, making the /bigobj flag global , instead of passing it per file. 2020-07-28 18:04:36 -05:00
docs Revert "[IPConstProp] Remove and move tests to SCCP." 2020-07-30 13:06:54 +01:00
examples [llvm][examples][SimplifyCFG] Fix pass's IR changed reporting 2020-07-27 13:39:58 -06:00
include [NewPM][PassInstrument] Add PrintPass callback to StandardInstrumentations 2020-07-30 10:07:57 -07:00
lib [SCCP] Remove dead switch cases based on range information 2020-07-30 21:21:08 +02:00
projects Add few docs and implementation of strcpy and strcat. 2019-10-04 17:30:54 +00:00
resources
runtimes [CMake] Bump CMake minimum version to 3.13.4 2020-07-22 14:25:07 -04:00
test [SCCP] Remove dead switch cases based on range information 2020-07-30 21:21:08 +02:00
tools [llvm-readobj] NFC. Add -help description of --hex-dump and 2020-07-29 19:18:01 -07:00
unittests Fix computeHostNumPhysicalCores() for Linux on POWER and Linux on Z 2020-07-30 18:05:36 +00:00
utils Revert "[IPConstProp] Remove and move tests to SCCP." 2020-07-30 13:06:54 +01:00
.clang-format
.clang-tidy - Update .clang-tidy to ignore parameters of main like functions for naming violations in clang and llvm directory 2020-01-31 16:49:45 +00:00
.gitattributes
.gitignore [clangd] Store index in '.cache/clangd/index' instead of '.clangd/index' 2020-07-07 14:53:45 +02:00
CMakeLists.txt [CMake] Bump CMake minimum version to 3.13.4 2020-07-22 14:25:07 -04:00
CODE_OWNERS.TXT Make myself code owner of InferAddressSpaces 2020-06-08 21:26:01 -04:00
configure
CREDITS.TXT [test commit] Add my name to the CREDITS.TXT 2020-07-24 12:05:53 -05:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt Test commit. 2020-03-14 18:08:26 -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.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.