llvm-6502/lib
Dan Gohman 40a5a1b39e Extend ScalarEvolution's multiple-exit support to compute exact
trip counts in more cases.

Generalize ScalarEvolution's isLoopGuardedByCond code to recognize
And and Or conditions, splitting the code out into an
isNecessaryCond helper function so that it can evaluate Ands and Ors
recursively, and make SCEVExpander be much more aggressive about
hoisting instructions out of loops.

test/CodeGen/X86/pr3495.ll has an additional instruction now, but
it appears to be due to an arbitrary register allocation difference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74048 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 01:18:18 +00:00
..
Analysis Extend ScalarEvolution's multiple-exit support to compute exact 2009-06-24 01:18:18 +00:00
Archive Avoid leaking memory in an error path. Noticed 2009-06-11 08:09:49 +00:00
AsmParser Address review comments: add 3 ARM calling conventions. 2009-06-16 18:50:49 +00:00
Bitcode Fix PR4336: Iterating over use-def chains doesn't seem to be deterministic. 2009-06-16 05:15:21 +00:00
CodeGen Use a default alignment for data and bss sections. 2009-06-23 04:39:27 +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 Eliminate object-relinking support from CMake. Fixes PR 4429 and 2009-06-23 17:57:35 +00:00
Linker Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
MC Start MCAsmStreamer implementation. 2009-06-24 01:03:06 +00:00
Support Use atomic operations when accessing statistics, and make the lazy initialization of statistics actually threadsafe. 2009-06-23 21:19:38 +00:00
System Add atomic multiply and divide operations, built on top of CompareAndSwap. 2009-06-23 21:19:04 +00:00
Target Unbreak build on Linux by removing Darwinism. 2009-06-24 01:08:42 +00:00
Transforms Extend ScalarEvolution's multiple-exit support to compute exact 2009-06-24 01:18:18 +00:00
VMCore Guard the listeners list. Unfortunately, this requires a real static rather 2009-06-24 00:25:42 +00:00
Makefile Start flushing out MCContext. 2009-06-23 22:01:43 +00:00