llvm-6502/lib
Dan Gohman 2d1be87ee4 Expand GEPs in ScalarEvolution expressions. SCEV expressions can now
have pointer types, though in contrast to C pointer types, SCEV
addition is never implicitly scaled. This not only eliminates the
need for special code like IndVars' EliminatePointerRecurrence
and LSR's own GEP expansion code, it also does a better job because
it lets the normal optimizations handle pointer expressions just
like integer expressions.

Also, since LLVM IR GEPs can't directly index into multi-dimensional
VLAs, moving the GEP analysis out of client code and into the SCEV
framework makes it easier for clients to handle multi-dimensional
VLAs the same way as other arrays.

Some existing regression tests show improved optimization.
test/CodeGen/ARM/2007-03-13-InstrSched.ll in particular improved to
the point where if-conversion started kicking in; I turned it off
for this test to preserve the intent of the test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69258 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-16 03:18:22 +00:00
..
Analysis Expand GEPs in ScalarEvolution expressions. SCEV expressions can now 2009-04-16 03:18:22 +00:00
Archive
AsmParser Fix warning in .ll parser, detect and reject available_externally on function 2009-04-13 07:02:02 +00:00
Bitcode Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
CodeGen In -fast mode do what FastISel does. 2009-04-16 02:33:41 +00:00
CompilerDriver -write-graph now can be used with -o. 2009-03-27 12:57:14 +00:00
Debugger Oops...I committed too much. 2009-03-13 04:39:26 +00:00
ExecutionEngine Mac OS X 10.6 and above do not use key manager to register EH frames. 2009-04-14 22:31:59 +00:00
Linker Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
Support teach EscapeString and UnescapeString to handle ". 2009-04-15 20:12:52 +00:00
System Call CreateProcess with bInheritHandles = TRUE. 2009-04-14 21:31:36 +00:00
Target Fix 80-column violations. 2009-04-15 19:48:57 +00:00
Transforms Expand GEPs in ScalarEvolution expressions. SCEV expressions can now 2009-04-16 03:18:22 +00:00
VMCore Limit the number of times we're willing to chase pointers. Removes an O(n^2) 2009-04-15 06:23:41 +00:00
Makefile Reorganize llvmc code. 2009-03-02 09:01:14 +00:00