Reapply "blockfreq: Approximate irreducible control flow"
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Mon, 28 Apr 2014 20:02:29 +0000 (20:02 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Mon, 28 Apr 2014 20:02:29 +0000 (20:02 +0000)
commit96837f72321400bc6904f91fde368fe5524d6d5c
tree6db54352ebdcd10e94b1e10ffb6792f822f78b14
parentaec1f2c2f594682d133daec0089bb1fa49d92817
Reapply "blockfreq: Approximate irreducible control flow"

This reverts commit r207287, reapplying r207286.

I'm hoping that declaring an explicit struct and instantiating
`addBlockEdges()` directly works around the GCC crash from r207286.
This is a lot more boilerplate, though.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207438 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/BlockFrequencyInfoImpl.h
lib/Analysis/BlockFrequencyInfoImpl.cpp
test/Analysis/BlockFrequencyInfo/irreducible.ll