llvm-6502/test/CodeGen
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
..
ARM When fast iseling a GEP, accumulate the offset rather than emitting a series of 2011-11-17 07:15:58 +00:00
CBackend
CellSPU Remove histogram tests. 2011-11-12 22:39:40 +00:00
CPP
Generic
MBlaze
Mips
MSP430
PowerPC
PTX allow non-device function calls in PTX when natively handling device-side printf 2011-11-11 14:45:12 +00:00
SPARC
Thumb
Thumb2 Add vmov.f32 to materialize f32 immediate splats which cannot be handled by 2011-11-15 02:12:34 +00:00
X86 The logic for breaking the CFG in the presence of hot successors didn't 2011-11-20 11:22:06 +00:00
XCore