llvm-6502/include/llvm/Support
Chris Lattner 998ef4a92d switch the second scalarrepl pass to use SSAUpdater. We run two scalarrepl passes: one
early in the cleanup code and one late interlaced with the inliner.  The second one is
important because inlining and other scalar optzns can unpin allocas, allowing them to 
be split up and promoted.  While important for performance, this is also relatively
rare, and we would previously force a (non-lazy) computation of DomFrontiers, which 
happened even if nothing became unpinned.

With this patch, the first pass of scalarrepl still promotes the vast bulk of allocas
in programs, but hte second pass has changed to use SSAUpdater, which is more "sparse"
and lazy.  This speeds up opt -O3 time on kimwitu++ (a c++ app) by about 1%.  The
numbers are interesting: the first pass promotes ~17500 allocas.  The second pass
promotes about 1600.  For non-C++ codes, the compile time win should be greater, 
because the second pass of scalarrepl does less.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123437 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-14 08:21:08 +00:00
..
AIXDataTypesFix.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
AlignOf.h Fix spelling. 2010-12-07 18:11:54 +00:00
Allocator.h Enhance ScopedHashTable to allow it to take an allocator argument. 2011-01-03 01:29:37 +00:00
Atomic.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
CallSite.h Implement PR8644: forwarding a memcpy value to a byval, 2010-11-21 00:28:59 +00:00
Casting.h restrict dyn_cast_or_null to pointer types, just like cast_or_null; re-commit of r114279, backed out in r114280 2010-09-18 13:03:32 +00:00
CFG.h
circular_raw_ostream.h
COFF.h Merge System into Support. 2010-11-29 18:16:10 +00:00
CommandLine.h Trailing whitespace. 2010-08-10 14:49:24 +00:00
Compiler.h Support/Path: Deprecate PathV1::isAbsolute. 2010-12-17 21:21:31 +00:00
ConstantFolder.h
ConstantRange.h improve switch formation to handle small range 2010-12-17 06:20:15 +00:00
CrashRecoveryContext.h CrashRecoveryContext: Add RunSafelyOnThread helper function. 2010-11-05 07:19:09 +00:00
DataFlow.h Fix build of DataFlow.h 2010-08-04 09:30:20 +00:00
DataTypes.h.cmake Merge System into Support. 2010-11-29 18:16:10 +00:00
DataTypes.h.in I swear I did a make clean and make before committing all this... 2010-11-29 18:47:54 +00:00
Debug.h
DebugLoc.h
Disassembler.h Merge System into Support. 2010-11-29 18:16:10 +00:00
DOTGraphTraits.h
Dwarf.h Did my commit for the last patch for the .loc directory from the wrong place and 2010-09-30 17:16:09 +00:00
DynamicLibrary.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
ELF.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Endian.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Errno.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
ErrorHandling.h report_fatal_error: Simplify a possible ambiguity. 2010-11-13 02:48:51 +00:00
FEnv.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
FileSystem.h Support/PathV2: Implement has_magic. 2010-12-28 01:49:01 +00:00
FileUtilities.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Format.h
FormattedStream.h Make tool_output_file's raw_ostream instance a member variable instead 2010-09-01 14:20:41 +00:00
GetElementPtrTypeIterator.h
GraphWriter.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Host.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
IncludeFile.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
InstIterator.h
InstVisitor.h
IRBuilder.h add methods to IRBuilder to create memcpy/memset/memmove. 2010-12-26 22:49:25 +00:00
IRReader.h MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm. 2010-12-16 03:29:14 +00:00
LeakDetector.h
LICENSE.TXT Merge System into Support. 2010-11-29 18:16:10 +00:00
MachO.h Merge System into Support. 2010-11-29 18:16:10 +00:00
ManagedStatic.h Merge System into Support. 2010-11-29 18:16:10 +00:00
MathExtras.h Typo. 2010-12-15 22:33:06 +00:00
Memory.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
MemoryBuffer.h MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm. 2010-12-16 03:29:14 +00:00
MemoryObject.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Mutex.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
MutexGuard.h Merge System into Support. 2010-11-29 18:16:10 +00:00
NoFolder.h patch from Frits van Bommel: 2010-11-18 02:15:42 +00:00
OutputBuffer.h
PassNameParser.h Shrink PassNameParser's binary size with array_pod_sort. 2010-08-07 11:45:42 +00:00
Path.h Support: Rename Path.h to PathV1.h and add a new Path.h that includes both V1 and V2. 2010-12-17 17:22:36 +00:00
PathV1.h Support/Path: Deprecate PathV1::IsSymlink and replace all uses with PathV2::is_symlink. 2011-01-12 23:55:06 +00:00
PathV2.h Pass StringRefs by value, for consistency. 2010-12-17 18:19:06 +00:00
PatternMatch.h Move some those Xor simplifications which don't require creating new 2010-11-17 18:52:15 +00:00
PluginLoader.h
PointerLikeTypeTraits.h Merge System into Support. 2010-11-29 18:16:10 +00:00
PredIteratorCache.h
PrettyStackTrace.h Trailing whitespace. 2010-08-20 17:38:38 +00:00
Process.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
Program.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
raw_os_ostream.h
raw_ostream.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Recycler.h
RecyclingAllocator.h
Regex.h Add include guards to Support/Regex.h. 2010-08-20 17:38:44 +00:00
Registry.h Add a comment. 2010-07-26 21:05:37 +00:00
RegistryParser.h
RWMutex.h Merge System into Support. 2010-11-29 18:16:10 +00:00
Signals.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
SMLoc.h
Solaris.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
SourceMgr.h now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate the 2010-11-17 08:13:01 +00:00
StandardPasses.h switch the second scalarrepl pass to use SSAUpdater. We run two scalarrepl passes: one 2011-01-14 08:21:08 +00:00
StringPool.h
SwapByteOrder.h Merge System into Support. 2010-11-29 18:16:10 +00:00
system_error.h Support/MemoryBuffer: Replace all uses of std::string *ErrMsg with error_code &ec. And fix clients. 2010-12-09 17:36:48 +00:00
SystemUtils.h Rename FindExecutable to PrependMainExecutablePath. 2010-11-03 16:14:16 +00:00
TargetFolder.h
Threading.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
ThreadLocal.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
Timer.h Merge System into Support. 2010-11-29 18:16:10 +00:00
TimeValue.h Merge System into Support. 2010-11-29 18:16:10 +00:00
ToolOutputFile.h Move tool_output_file into its own file. 2010-10-07 20:32:40 +00:00
type_traits.h
TypeBuilder.h Add X86 MMX type to bitcode and Type. 2010-09-10 20:55:01 +00:00
Valgrind.h Now to chant the magical incantation that will exorcise the System library 2010-11-29 19:44:50 +00:00
ValueHandle.h Revert r122114 (CallbackVH observing use-list changes) because it caused severe slowdowns on the Linux self-host configuration. 2010-12-20 22:28:03 +00:00