llvm-project/llvm/test
Davide Italiano 7dd0694f96 [GlobalOpt] Remove unreachable blocks before optimizing a function.
LLVM's definition of dominance allows instructions that are cyclic
in unreachable blocks, e.g.:

  %pat = select i1 %condition, @global, i16* %pat

because any instruction dominates an instruction in a block that's
not reachable from entry.
So, remove unreachable blocks from the function, because a) there's
no point in analyzing them and b) GlobalOpt should otherwise grow
some more complicated logic to break these cycles.

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

llvm-svn: 307215
2017-07-05 22:28:28 +00:00
..
Analysis [DependenceAnalysis] Make sure base objects are the same when comparing GEPs 2017-07-05 21:35:47 +00:00
Assembler Align definition of DW_OP_plus with DWARF spec [3/3] 2017-06-14 13:14:38 +00:00
Bindings [LLVM-C] [OCaml] Expose Type::subtypes. 2017-06-05 11:49:52 +00:00
Bitcode Bitcode: Write the irsymtab to disk. 2017-06-27 23:50:11 +00:00
BugPoint bugpoint: disabling symbolication of bugpoint-executed programs 2017-06-09 07:29:03 +00:00
CodeGen Fix libcall expansion creating DAG nodes with invalid type post type legalization. 2017-07-05 22:01:49 +00:00
DebugInfo [PDB] Add a test that verifies every known type record. 2017-07-05 18:43:25 +00:00
Examples
ExecutionEngine [RuntimeDyld, PowerPC] Fix check for external symbols when detecting reloction overflow 2017-05-23 14:51:18 +00:00
Feature Remove the BBVectorize pass. 2017-06-30 07:09:08 +00:00
FileCheck [FileCheck] Don't scan past the closing CHECK-DAG for CHECK-NOT inside CHECK-DAG 2017-06-07 12:06:45 +00:00
Instrumentation fix trivial typos, NFC 2017-07-01 07:12:15 +00:00
Integer
JitListener
LTO [LTO] Remove values from non-prevailing comdats 2017-06-30 14:03:24 +00:00
LibDriver [llvm-ar] Make llvm-lib behave more like the MSVC archiver 2017-06-12 19:45:35 +00:00
Linker [Linker] Remove llc usage from link-arm-and-thumb.ll test case. 2017-06-07 09:59:22 +00:00
MC [WebAssembly] Fix types for address taken functions 2017-07-05 20:25:08 +00:00
Object [YAML] - Teach yaml2obj/obj2yaml to work with numeric relocation values. 2017-06-30 10:31:03 +00:00
ObjectYAML [WebAssembly] Add data size and alignement to linking section 2017-06-27 20:27:59 +00:00
Other Revert "[lit] Clean output directories before running tests." 2017-06-30 16:05:03 +00:00
SafepointIRVerifier [SafepointIRVerifier] Add verifier pass for finding GC relocation bugs 2017-07-05 01:16:29 +00:00
SymbolRewriter
TableGen [globalisel][tablegen] Finish fixing compile-time regressions by merging the matcher and emitter state machines. 2017-07-05 14:50:18 +00:00
ThinLTO/X86 Bitcode: Write the irsymtab to disk. 2017-06-27 23:50:11 +00:00
Transforms [GlobalOpt] Remove unreachable blocks before optimizing a function. 2017-07-05 22:28:28 +00:00
Unit Revert "[lit] Clean output directories before running tests." 2017-06-30 16:05:03 +00:00
Verifier [Atomics] Rename and change prototype for atomic memcpy intrinsic 2017-06-16 14:43:59 +00:00
YAMLParser
tools [PDB] Add a test that verifies every known type record. 2017-07-05 18:43:25 +00:00
.clang-format
CMakeLists.txt Rename llvm-pdbdump -> llvm-pdbutil. 2017-06-09 20:46:17 +00:00
TestRunner.sh
lit.cfg [llvm-pdbdump] Don't fail on PDBs with no ID stream. 2017-06-12 21:34:53 +00:00
lit.site.cfg.in Introduce the new feature "abi-breaking-checks" to satisfy -reverse-iterate in llvm/test/Transforms/Util/PredicateInfo/ 2017-06-07 00:22:52 +00:00