llvm-6502/lib
Chandler Carruth b0dadb9dd5 The logic for breaking the CFG in the presence of hot successors didn't
properly account for the *global* probability of the edge being taken.
This manifested as a very large number of unconditional branches to
blocks being merged against the CFG even though they weren't
particularly hot within the CFG.

The fix is to check whether the edge being merged is both locally hot
relative to other successors for the source block, and globally hot
compared to other (unmerged) predecessors of the destination block.

This introduces a new crasher on GCC single-source, but it's currently
behind a flag, and Ben has offered to work on the reduction. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145010 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-20 11:22:06 +00:00
..
Analysis SCEV: Actually set overflow flags on add expressions. 2011-11-20 10:24:36 +00:00
Archive
AsmParser
Bitcode
CodeGen The logic for breaking the CFG in the presence of hot successors didn't 2011-11-20 11:22:06 +00:00
DebugInfo
ExecutionEngine Sink codegen optimization level into MCCodeGenInfo along side relocation model 2011-11-16 08:38:26 +00:00
Linker
MC Sink codegen optimization level into MCCodeGenInfo along side relocation model 2011-11-16 08:38:26 +00:00
Object Object/COFF: Support common symbols. 2011-11-16 23:36:12 +00:00
Support Move WEAK marking to the declaration. 2011-11-15 01:23:22 +00:00
TableGen
Target Add code for lowering v32i8 shifts by a splat to AVX2 immediate shift instructions. Remove 256-bit splat handling from LowerShift as it was already handled by PerformShiftCombine. 2011-11-20 00:12:05 +00:00
Transforms [asan] workaround for reg alloc bug 11395: don't instrument functions with large chunks of inline assembler 2011-11-18 01:41:06 +00:00
VMCore Rename MVT::untyped to MVT::Untyped to match similar nomenclature. 2011-11-16 01:02:57 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile