llvm-6502/include/llvm/Support
Benjamin Kramer 93702a3b07 BlockFrequency: Saturate at 1 instead of 0 when multiplying a frequency with a branch probability.
Zero is used by BlockFrequencyInfo as a special "don't know" value. It also
causes a sink for frequencies as you can't ever get off a zero frequency with
more multiplies.

This recovers a 10% regression on MultiSource/Benchmarks/7zip. A zero frequency
was propagated into an inner loop causing excessive spilling.

PR16402.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184584 91177308-0d34-0410-b5e6-96231b3b80d8
2013-06-21 19:30:05 +00:00
..
AIXDataTypesFix.h
AlignOf.h Incrase the number of parameters for AlignedCharArrayUnion. 2013-01-09 10:39:16 +00:00
Allocator.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
ArrayRecycler.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Atomic.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
BlockFrequency.h BlockFrequency: Saturate at 1 instead of 0 when multiplying a frequency with a branch probability. 2013-06-21 19:30:05 +00:00
BranchProbability.h
CallSite.h Use only explicit bool conversion operators 2013-05-15 07:36:59 +00:00
Capacity.h
Casting.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
CBindingWrapping.h Fix file header comment. 2013-05-01 21:01:06 +00:00
CFG.h Enable pod-like optimizations for pred and succ iterators. 2013-05-20 13:12:58 +00:00
circular_raw_ostream.h
CodeGen.h This exposes more MCJIT options via the C API: 2013-05-01 22:58:00 +00:00
COFF.h [PECOFF] Remove COFF header from PE header for simplicity. 2013-06-11 21:39:48 +00:00
CommandLine.h Fix 'gcc -flto' builds for unittest binaries (undefined reference to 2013-06-12 14:15:21 +00:00
Compiler.h Introduce LLVM_STATIC_ASSERT macro, which expands to C/C++'s static_assert on compilers which support it. 2013-03-22 03:10:51 +00:00
Compression.h Add basic zlib support to LLVM. This would allow to use compression/uncompression in selected LLVM tools. 2013-04-23 08:28:39 +00:00
ConstantFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
ConstantRange.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ConvertUTF.h llvm-gcc -pedantic warns about C++ comments in C90 mode even if they're 2013-02-13 22:45:52 +00:00
CrashRecoveryContext.h
DataExtractor.h Be consistent about the field name - AddressSize, not PointerSize. Add 2013-02-05 23:26:02 +00:00
DataFlow.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
DataStream.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
DataTypes.h.cmake
DataTypes.h.in
Debug.h
DebugLoc.h Remove trailing spaces. 2013-03-18 23:04:30 +00:00
Disassembler.h
DOTGraphTraits.h ScheduleDAG: colorize the DOT graph and improve formatting. 2013-01-25 07:45:25 +00:00
Dwarf.h Revert "Update the version of dwarf we say we're emitting to at least 3." 2013-04-10 21:45:07 +00:00
DynamicLibrary.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ELF.h [PowerPC] Support R_PPC_REL16 family of relocations 2013-06-21 14:44:37 +00:00
Endian.h Make the host endianness check an integer constant expression. 2013-04-15 14:44:24 +00:00
Errno.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ErrorHandling.h Add a boolean parameter to the llvm::report_fatal_error() function to indicated 2013-03-27 18:27:54 +00:00
ErrorOr.h [Support][ErrorOr] Add support for implicit conversion from error code/condition enums. 2013-02-28 01:44:26 +00:00
FEnv.h Refine fenv.h handling: check if the desired macros exist, before using 2013-03-25 13:13:33 +00:00
FileOutputBuffer.h [Support] Make FileOutputBuffer work on Windows. 2012-12-03 22:09:52 +00:00
FileSystem.h Remove last use of PathV1.h from Archive.cpp. 2013-06-20 22:02:10 +00:00
FileUtilities.h Don't use PathV1.h in FileUtilities.h. 2013-06-13 20:41:00 +00:00
Format.h
FormattedStream.h Add line tracking support to FormattedStream 2013-05-08 20:29:10 +00:00
GCOV.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
GetElementPtrTypeIterator.h Avoid warnings about unused parameters that tend to come up a lot when 2013-06-10 12:09:30 +00:00
GraphWriter.h Convert a use of sys::Path::GetTemporaryDirectory. 2013-06-14 16:43:15 +00:00
Host.h The GNU/HURD is also using the libc. Therefor, endian.h should be included, not machine/endian.h. See full build log https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-3.3&arch=hurd-i386&ver=1%3A3.3~%2Brc3-1~exp1&stamp=1370358869 2013-06-05 09:17:26 +00:00
IncludeFile.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
InstIterator.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
IntegersSubset.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
IntegersSubsetMapping.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LeakDetector.h
LEB128.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LICENSE.TXT
Locale.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LockFileManager.h Fix a race condition in the lock-file manager: once the lock file is 2013-01-10 02:01:35 +00:00
MachO.h
ManagedStatic.h
MathExtras.h Put back variable names because they are referenced in the documentation 2013-06-16 03:22:56 +00:00
MD5.h Add support for adding the contents of a StringRef to the MD5 hash. 2013-05-31 22:34:56 +00:00
Memory.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MemoryBuffer.h This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
MemoryObject.h Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
Mutex.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
MutexGuard.h
NoFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
OutputBuffer.h
PassNameParser.h Add missing verb to comment in PassNameParser.h 2013-05-17 16:51:32 +00:00
Path.h Move PathV2.h to Path.h 2013-06-11 22:21:28 +00:00
PathV1.h Remove Path::getDirectoryContents. 2013-06-19 15:32:37 +00:00
PatternMatch.h Provide InstCombines for the following 3 cases: 2013-05-06 16:55:50 +00:00
PluginLoader.h
PointerLikeTypeTraits.h
PredIteratorCache.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
PrettyStackTrace.h
Process.h sys::process::get_id() now returns the process ID instead of a process handle on Windows. Patch thanks to Kim Gräsman! 2013-06-08 20:29:03 +00:00
Program.h Avoid using PathV1.h in Program.h. 2013-06-13 20:25:38 +00:00
raw_os_ostream.h
raw_ostream.h Use LLVM_DELETED_FUNCTION rather than '// do not implement' comments. 2013-02-18 23:11:17 +00:00
Recycler.h Special case Recycler::clear(BumpPtrAllocator). 2013-01-04 22:35:45 +00:00
RecyclingAllocator.h Fix RecyclingAllocator::PrintStats to print the underlying allocator's stats. 2013-05-25 01:47:42 +00:00
Regex.h
Registry.h
RegistryParser.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RWMutex.h
SaveAndRestore.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Signals.h Don't use PathV1.h in Signals.h. 2013-06-13 21:16:58 +00:00
SMLoc.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Solaris.h Define BYTE_ORDER on Solaris. 2013-05-21 20:36:13 +00:00
SourceMgr.h Add ArrayRef constructor from None, and do the cleanups that this constructor enables 2013-05-05 00:40:33 +00:00
StreamableMemoryObject.h Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
StringPool.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
StringRefMemoryObject.h Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
SwapByteOrder.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
system_error.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
SystemUtils.h Move PrependMainExecutablePath next to its only user. 2013-06-14 15:12:13 +00:00
TargetFolder.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
TargetRegistry.h Avoid warnings about unused parameters that tend to come up a lot when 2013-06-10 12:09:30 +00:00
TargetSelect.h
Threading.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ThreadLocal.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Timer.h Slight cosmetic fixes 2013-02-26 18:05:31 +00:00
TimeValue.h Fix initialization-order bug in llvm::Support::TimeValue. TimeValue::now() is explicitly called during module initialization of lib/Support/Process.cpp. It reads the field of global object PosixZeroTime, which is not guaranteed to be initialized at this point. Found by AddressSanitizer with -fsanitize=init-order option. 2013-02-19 11:35:39 +00:00
ToolOutputFile.h Don't use PathV1.h in LTOCodeGenerator.cpp 2013-06-17 18:05:35 +00:00
type_traits.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
Valgrind.h Sort the #include lines for the include/... tree with the script. 2012-12-03 17:02:12 +00:00
ValueHandle.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
Watchdog.h Add a new watchdog timer interface. The interface does not permit handling timeouts, so 2013-03-26 01:27:52 +00:00
Win64EH.h Implements low-level object file format specific output for COFF and 2013-04-03 18:31:38 +00:00
YAMLParser.h Use only explicit bool conversion operators 2013-05-15 07:36:59 +00:00
YAMLTraits.h Remove redundant 'llvm::' qualifications 2013-01-13 16:01:15 +00:00