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
Archive
Assembler
Bindings/Ocaml
Bitcode More replacing of target-dependent intrinsics with target-indepdent 2012-07-18 00:02:16 +00:00
BugPoint
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
Feature
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
Linker
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
Other
Scripts
TableGen
Transforms indvars: Linear function test replace should avoid reusing undef. 2012-07-18 04:35:10 +00:00
Unit
Verifier
YAMLParser
CMakeLists.txt llvm/test/CMakeLists.txt: Add llvm-diff to deps. 2012-07-12 10:15:48 +00:00
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh