llvm-6502/test
Duncan Sands 02b5e72ac6 GVN does simple propagation of conditions: when it sees a conditional
branch "br i1 %x, label %if_true, label %if_false" then it replaces
"%x" with "true" in places only reachable via the %if_true arm, and
with "false" in places only reachable via the %if_false arm.  Except
that actually it doesn't: if value numbering shows that %y is equal
to %x then, yes, %y will be turned into true/false in this way, but
any occurrences of %x itself are not transformed.  Fix this.  What's
more, it's often the case that %x is an equality comparison such as
"%x = icmp eq %A, 0", in which case every occurrence of %A that is
only reachable via the %if_true arm can be replaced with 0.  Implement
this and a few other variations on this theme.  This reduces the number
of lines of LLVM IR in "GCC as one big file" by 0.2%.  It has a bigger
impact on Ada code, typically reducing the number of lines of bitcode
by around 0.4% by removing repeated compiler generated checks.  Passes
the LLVM nightly testsuite and the Ada ACATS testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141177 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-05 14:28:49 +00:00
..
Analysis Missing test case for r141164. 2011-10-05 06:23:32 +00:00
Archive Avoid writing to an arbitrary filename during the test run by writing to 2011-07-02 20:43:18 +00:00
Assembler Fix a typo in the bitcode reader in the handling of atomic stores. Reported by David Meyer on llvmdev. 2011-09-19 19:41:28 +00:00
Bindings/Ocaml attempt to fix ocaml bindings: landing pads 2011-10-03 06:41:46 +00:00
Bitcode Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
BugPoint
CodeGen Move CHECK after entry label. 2011-10-03 21:24:30 +00:00
DebugInfo Fix this test so it doesn't fail on Mac. 2011-09-26 19:13:47 +00:00
ExecutionEngine Excluding ARM JIT tests until someone can fix this compilation path. 2011-08-26 23:39:30 +00:00
Feature Update tests to the newest EH syntax. 2011-08-25 01:30:18 +00:00
Integer Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
lib Remove llvm-gcc and various compiler handling from llvm. It's not needed 2011-09-20 23:58:15 +00:00
Linker Use %% for literals in RUN lines. 2011-08-26 20:09:48 +00:00
MC Teach the MC to output code/data region marker labels in MachO and ELF modes. These are used by disassemblers to provide better disassembly, particularly on targets like ARM Thumb that like to intermingle data in the TEXT segment. 2011-10-04 23:26:17 +00:00
Object Add binary archive support to llvm-nm. 2011-09-27 19:37:18 +00:00
Other Update to new EH scheme. 2011-08-31 21:44:24 +00:00
Scripts Fix the bitwidth of the remaining fields. 2011-08-04 17:00:11 +00:00
TableGen Test Operand Arguments 2011-10-04 18:55:40 +00:00
Transforms GVN does simple propagation of conditions: when it sees a conditional 2011-10-05 14:28:49 +00:00
Unit test/Unit: Fix enable shared test to follow check that we have actually loaded 2011-06-22 20:41:53 +00:00
Verifier Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
CMakeLists.txt test/CMakeLists.txt: Depend on llvm-objdump. "make check" is expected to resolve test-dependent targets on CMake build. 2011-09-27 21:54:50 +00:00
lit.cfg Fix PR9833/PR11054 (patch provided by Patrik Hägglund) 2011-10-04 16:26:41 +00:00
lit.site.cfg.in cmake+lit: handle ENABLE_ASSERTIONS feature properly. 2011-06-23 17:52:36 +00:00
Makefile cmake+lit: handle ENABLE_ASSERTIONS feature properly. 2011-06-23 17:52:36 +00:00
Makefile.tests
site.exp.in
TestRunner.sh