llvm-6502/test
Andrew Trick b5c26ef9da SCEVExpander fixes. Affects LSR and indvars.
LSR has gradually been improved to more aggressively reuse existing code, particularly existing phi cycles. This exposed problems with the SCEVExpander's sloppy treatment of its insertion point. I applied some rigor to the insertion point problem that will hopefully avoid an endless bug cycle in this area. Changes:

- Always used properlyDominates to check safe code hoisting.

- The insertion point provided to SCEV is now considered a lower bound. This is usually a block terminator or the use itself. Under no cirumstance may SCEVExpander insert below this point.

- LSR is reponsible for finding a "canonical" insertion point across expansion of different expressions.

- Robust logic to determine whether IV increments are in "expanded" form and/or can be safely hoisted above some insertion point.

Fixes PR11783: SCEVExpander assert.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148535 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-20 07:41:13 +00:00
..
Analysis
Archive
Assembler
Bindings/Ocaml
Bitcode
BugPoint
CodeGen Add support for selecting 256-bit PALIGNR. 2012-01-20 05:53:00 +00:00
DebugInfo Don't avoid recursing for pointer types, just reference types. Expand on 2012-01-11 00:01:29 +00:00
ExecutionEngine Remove "XFAIL: arm" from test/ExecutionEngine/test-return.ll 2012-01-17 18:21:05 +00:00
Feature
Instrumentation/AddressSanitizer
Integer
lib
Linker Link symbols with different visibilities according to the rules in the 2012-01-05 23:02:01 +00:00
MC Post process 'and', 'sub' instructions and select better encoding, if available. 2012-01-19 18:40:55 +00:00
Object
Other
Scripts
TableGen
Transforms SCEVExpander fixes. Affects LSR and indvars. 2012-01-20 07:41:13 +00:00
Unit
Verifier
CMakeLists.txt
lit.cfg Adding a basic ELF dynamic loader and MC-JIT for ELF. Functionality is currently basic and will be enhanced with future patches. 2012-01-16 08:56:09 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
site.exp.in
TestRunner.sh