llvm-6502/test
Shuxin Yang 1bc7315c02 GVN proceeds in the presence of dead code.
This is how it ignores the dead code:
1) When a dead branch target, say block B, is identified, all the
    blocks dominated by B is dead as well.

2) The PHIs of those blocks in dominance-frontier(B) is updated such
   that the operands corresponding to dead predecessors are replaced
   by "UndefVal".

   Using lattice's jargon, the "UndefVal" is the "Top" in essence.
   Phi node like this "phi(v1 bb1, undef xx)" will be optimized into
   "v1" if v1 is constant, or v1 is an instruction which dominate this
   PHI node.

3) When analyzing the availability of a load L, all dead mem-ops which
   L depends on disguise as a load which evaluate exactly same value as L.

4) The dead mem-ops will be materialized as "UndefVal" during code motion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191017 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-19 17:22:51 +00:00
..
Analysis Costmodel: Add support for horizontal vector reductions 2013-09-17 18:06:50 +00:00
Assembler Remove verifier check that attribute 'builtin' is only applied to calls to 2013-09-07 00:25:48 +00:00
Bindings/Ocaml [PR11606] ocaml bindings tests produce binaries in source dir 2013-08-23 00:55:32 +00:00
Bitcode Patch provide by Tom Roeder! 2013-09-12 22:02:31 +00:00
BugPoint [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
CodeGen DAGCombiner: Don't fold vector muls with constants that look like a splat of a power of 2 but differ in bit width. 2013-09-19 13:28:20 +00:00
DebugInfo Debug info: Get rid of the VLA indirection hack in FastISel. 2013-09-18 22:08:59 +00:00
ExecutionEngine Add "native" to config.available_features, to make it easier to disable non-x-compile-safe tests 2013-09-13 10:59:01 +00:00
Feature Implement function prefix data as an IR feature. 2013-09-16 01:08:15 +00:00
FileCheck [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
Instrumentation [msan] Wrap indirect functions. 2013-09-19 15:22:35 +00:00
Integer [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
JitListener Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
Linker Implement function prefix data as an IR feature. 2013-09-16 01:08:15 +00:00
MC [ARMv8] Add support for the v8 cryptography extensions. 2013-09-19 11:59:01 +00:00
Object Add a minimal implementation of ranlib. 2013-08-28 16:22:16 +00:00
Other Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
TableGen FileCheckize some tests. 2013-08-22 20:46:05 +00:00
tools Generate IMAGE_REL_AMD64_ADDR32NB relocations for SEH 2013-09-15 17:46:46 +00:00
Transforms GVN proceeds in the presence of dead code. 2013-09-19 17:22:51 +00:00
Unit [tests] Update to use lit_config and lit package, as appropriate. 2013-08-09 16:22:05 +00:00
Verifier [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
YAMLParser
CMakeLists.txt llvm/test/CMakeLists.txt: Add llvm-cov in "check-clang". 2013-07-08 08:44:36 +00:00
lit.cfg Add "native" to config.available_features, to make it easier to disable non-x-compile-safe tests 2013-09-13 10:59:01 +00:00
lit.site.cfg.in [tests] Update to use lit_config and lit package, as appropriate. 2013-08-09 16:22:05 +00:00
Makefile [tests] Remove dead VALGRIND and CLEANED_TESTSUITE makefile variables. 2013-08-08 20:59:27 +00:00
Makefile.tests Remove dead code from the makefile build system. 2013-07-25 20:25:31 +00:00
TestRunner.sh