llvm-6502/test
Andrew Trick 4781d8ee1c indvars: Linear function test replace should avoid reusing undef.
Fixes PR13371: indvars pass incorrectly substitutes 'undef' values.

I do not like this fix. It's needed until/unless the meaning of undef
changes. It attempts to be complete according to the IR spec, but I
don't have much confidence in the implementation given the difficulty
testing undefined behavior. Worse, this invalidates some of my
hard-fought work on indvars and LSR to optimize pointer induction
variables. It results benchmark regressions, which I'll track
internally. On x86_64 no LTO I see:

-3% huffbench
-3% 400.perlbench
-8% fhourstones

My only suggestion for recovering is to change the meaning of
undef. If we could trust an arbitrary instruction to produce a some
real value that can be manipulated (e.g. incremented) according to
non-undef rules, then this case could be easily handled with SCEV.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160421 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18 04:35:10 +00:00
..
Analysis Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
Archive Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
Assembler Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
Bindings/Ocaml Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
Bitcode More replacing of target-dependent intrinsics with target-indepdent 2012-07-18 00:02:16 +00:00
BugPoint Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
CodeGen More replacing of target-dependent intrinsics with target-indepdent 2012-07-18 00:02:16 +00:00
DebugInfo Improve behavior of DebugInfoEntryMinimal::getSubprogramName() introduced in r159512. 2012-07-17 15:28:35 +00:00
ExecutionEngine Add Mips to the list of target architectures for the MCJIT tests. 2012-06-21 20:23:32 +00:00
Feature Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
Instrumentation [asan] refactor instrumentation to allow merging the crash callbacks (not fully implemented yet, no functionality change except the BB order) 2012-07-16 16:15:40 +00:00
Integer Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
Linker Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
MC Make x86 asm parser to check for xmm vs ymm for index register in gather instructions. Also fix Intel syntax for gather instructions to use 'DWORD PTR' or 'QWORD PTR' to match gas. 2012-07-18 04:11:12 +00:00
Object Add relocation types for Hexagon processor; patch by Sidney Manning <sidneym@codeaurora.org> 2012-06-23 14:46:18 +00:00
Other Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
Scripts This allows hello world to be compiled for Mips 64 direct object. 2012-06-27 22:48:25 +00:00
TableGen Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
Transforms indvars: Linear function test replace should avoid reusing undef. 2012-07-18 04:35:10 +00:00
Unit
Verifier Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
YAMLParser Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
CMakeLists.txt llvm/test/CMakeLists.txt: Add llvm-diff to deps. 2012-07-12 10:15:48 +00:00
lit.cfg llvm/test/lit.cfg: Retweak for Win32 to fix testing. 2012-07-03 03:59:34 +00:00
lit.site.cfg.in Remove 'site.exp' building from both CMake and configure+make. 2012-06-28 00:16:51 +00:00
Makefile Remove 'site.exp' building from both CMake and configure+make. 2012-06-28 00:16:51 +00:00
Makefile.tests
TestRunner.sh