llvm-6502/lib
Chris Lattner e41d3c015c Teach loop-idiom to turn a loop containing a memset into a larger memset
when safe.

The testcase is basically this nested loop:
void foo(char *X) {
  for (int i = 0; i != 100; ++i) 
    for (int j = 0; j != 100; ++j)
      X[j+i*100] = 0;
}

which gets turned into a single memset now.  clang -O3 doesn't optimize
this yet though due to a phase ordering issue I haven't analyzed yet.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122806 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-04 07:46:33 +00:00
..
Analysis Use the new addEscapingValue callback to update GlobalsModRef when GVN adds PHIs of GEPs. For the moment, 2011-01-03 23:51:43 +00:00
Archive MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm. 2010-12-16 03:29:14 +00:00
AsmParser Add missing standard headers. Patch by Joerg Sonnenberger! 2010-12-19 20:43:38 +00:00
Bitcode Add missing standard headers. Patch by Joerg Sonnenberger! 2010-12-19 20:43:38 +00:00
CodeGen Eliminate repeated allocation of a per-BB DenseMap for a 4.6% reduction of time 2011-01-04 06:42:27 +00:00
CompilerDriver Support/PathV1: Deprecate get{Basename,Dirname,Suffix}. 2010-12-18 22:23:07 +00:00
ExecutionEngine Remove unneeded zero arrays. 2010-12-04 15:28:22 +00:00
Linker include the module identifier when emitting this warning, PR8865. 2010-12-30 02:49:45 +00:00
MC Fix PR8878. 2011-01-01 19:05:35 +00:00
Object Fix mismatched new[]/delete. 2010-12-17 09:56:50 +00:00
Support Fix a signed/unsigned comparison warning. 2010-12-28 13:05:13 +00:00
Target Fix the ARM IIC_iCMPsi itinerary and add an important assert. 2011-01-04 00:32:57 +00:00
Transforms Teach loop-idiom to turn a loop containing a memset into a larger memset 2011-01-04 07:46:33 +00:00
VMCore split dom frontier handling stuff out to its own DominanceFrontier header, 2011-01-02 22:09:33 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00