llvm-6502/lib/Support
Stuart Hastings d52ec65b6d Fix a hashing bug in APInt. A certain pathological testcase (too
large for the testsuite) took over six minutes to compile on my Mac.
The patched LLVM-GCC compiles that testcase in three seconds (GCC
takes less than one second).  This hash function is more complex
(about 35 instructions on x86) than what Chris wanted, but I expect it
will be well-behaved with arbitrary inputs.

Thank you to everyone who responded to my previous request for advice.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66962 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13 21:51:13 +00:00
..
Allocator.cpp Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
Annotation.cpp Fixes for Visual Studio users. Patch by OvermindDL1 on llvm-dev! 2008-12-08 00:45:02 +00:00
APFloat.cpp just initialize the first element, we don't need to set the rest to zeros. 2009-03-13 00:24:01 +00:00
APInt.cpp Fix a hashing bug in APInt. A certain pathological testcase (too 2009-03-13 21:51:13 +00:00
APSInt.cpp Added FoldingSet style 'profiling' support for APSInt. 2008-01-19 04:31:12 +00:00
CMakeLists.txt Add missing file. 2009-03-05 09:19:13 +00:00
CommandLine.cpp Improve -fno-opt style option processing to not require an extra 2009-02-02 22:48:49 +00:00
ConstantRange.cpp Switch the asmprinter (.ll) and all the stuff it requires over to 2008-08-23 22:23:09 +00:00
Debug.cpp Make these variables static. 2008-04-23 23:15:23 +00:00
Dwarf.cpp The debugger sometimes lookup dynamically in the runtime to find ivar info of any Objective-C classes. It would be very helpful to debugger if the compiler encodes runtime version number in DWARF. 2009-02-17 22:43:44 +00:00
FileUtilities.cpp Fix more -Wshorten-64-to-32 warnings. 2008-05-05 18:30:58 +00:00
FoldingSet.cpp Add an API for strings with possible NULLs in the middle. Refactor the other 2009-02-07 04:57:08 +00:00
GraphWriter.cpp improve compatibility with various versions of graphviz, patch by 2009-01-20 18:25:03 +00:00
IsInf.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
IsNAN.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
Makefile Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
ManagedStatic.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
MemoryBuffer.cpp Switch from new[] + delete[] to malloc + free since llvm does not catch C++ exceptions. 2009-02-13 08:24:55 +00:00
PluginLoader.cpp Fix for PR2881: fix a small leak exposed by valgrind, using a ManagedStatic. 2008-10-22 16:30:41 +00:00
PrettyStackTrace.cpp Use c_str() to force the string to be nul-terminated. 2009-03-06 18:13:15 +00:00
raw_ostream.cpp PR3478: raw_ostream should not buffer stderr 2009-03-10 16:21:55 +00:00
SlowOperationInformer.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
SmallPtrSet.cpp Fix several const-correctness issues, resolving some -Wcast-qual warnings. 2008-08-05 14:45:15 +00:00
Statistic.cpp Clean up the use of static and anonymous namespaces. This turned up 2008-05-13 00:00:25 +00:00
Streams.cpp Remove more iostream header includes. Needed to implement a "FlushStream" 2008-05-29 21:46:33 +00:00
StringExtras.cpp Fix more -Wshorten-64-to-32 warnings. 2008-05-05 18:30:58 +00:00
StringMap.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
StringPool.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
SystemUtils.cpp Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
Timer.cpp Reapply 53476 and 53480, with a fix so that it properly updates 2008-07-14 18:19:29 +00:00