llvm-6502/lib/Transforms
Chris Lattner 145c532e68 Enhance SRoA to be more aggressive about scalarization of aggregate allocas
that have PHI or select uses of their element pointers.  This can often happen
when instcombine sinks two loads into a successor, inserting a phi or select.

With this patch, we can scalarize the alloca, but the pinned elements are not
yet promoted.  This is still a win for large aggregates where only one element
is used.  This fixes rdar://8904039 and part of rdar://7339113 (poor codegen
on stringswitch).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124070 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-23 08:27:54 +00:00
..
Hello Since the Hello pass is built as a loadable dynamic library, don't try to convert it to new-style registration yet. 2010-10-07 00:31:16 +00:00
InstCombine Just because we have determined that an (fcmp | fcmp) is true for A < B, 2011-01-21 19:39:42 +00:00
Instrumentation Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which 2010-10-19 17:21:58 +00:00
IPO Add unnamed_addr when we can show that address of a global is not used. 2011-01-19 16:32:21 +00:00
Scalar Enhance SRoA to be more aggressive about scalarization of aggregate allocas 2011-01-23 08:27:54 +00:00
Utils Convert two std::vectors to SmallVectors for a 3.4% speedup running -scalarrepl 2011-01-23 08:03:04 +00:00
Makefile