llvm-6502/test
Duncan P. N. Exon Smith d905bba691 blockfreq: Approximate irreducible control flow
Previously, irreducible backedges were ignored.  With this commit,
irreducible SCCs are discovered on the fly, and modelled as loops with
multiple headers.

This approximation specifies the headers of irreducible sub-SCCs as its
entry blocks and all nodes that are targets of a backedge within it
(excluding backedges within true sub-loops).  Block frequency
calculations act as if we insert a new block that intercepts all the
edges to the headers.  All backedges and entries to the irreducible SCC
point to this imaginary block.  This imaginary block has an edge (with
even probability) to each header block.

The result is now reasonable enough that I've added a number of
testcases for irreducible control flow.  I've outlined in
`BlockFrequencyInfoImpl.h` ways to improve the approximation.

<rdar://problem/14292693>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207286 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-25 23:08:57 +00:00
..
Analysis blockfreq: Approximate irreducible control flow 2014-04-25 23:08:57 +00:00
Assembler
Bindings
Bitcode Add 'musttail' marker to call instructions 2014-04-24 20:14:34 +00:00
BugPoint Mark llvm/test/BugPoint/compile-custom.ll as XFAIL:vg_leak. 2014-04-23 14:51:12 +00:00
CodeGen ARM: remove @llvm.arm.sevl 2014-04-25 17:51:25 +00:00
DebugInfo Unbreak the gdb buildbot by not lowering dbg.declare intrinsics for arrays. 2014-04-25 23:00:25 +00:00
ExecutionEngine
Feature
FileCheck
Instrumentation [asan] Fix instrumentation of x86 intel syntax inline assembly. 2014-04-24 09:56:15 +00:00
Integer
JitListener
Linker Fix DataLayout::operator==(). 2014-04-22 17:47:03 +00:00
LTO Add an -mattr option to the gold plugin to support subtarget features in LTO 2014-04-25 21:46:51 +00:00
MC [ARM64] Print preferred aliases for SFBM/UBFM in InstPrinter 2014-04-25 10:25:29 +00:00
Object [yaml2obj][ELF] ELF Relocations Support. 2014-04-11 04:13:39 +00:00
Other [PM] Add a new-PM-style CGSCC pass manager using the newly added 2014-04-21 11:12:00 +00:00
TableGen
tools ProfileData: Treat missing function counts as malformed 2014-04-25 02:45:33 +00:00
Transforms [LoopStrengthReduce] Don't trim formula that uses a subset of required registers 2014-04-25 21:02:21 +00:00
Unit
Verifier Add 'musttail' marker to call instructions 2014-04-24 20:14:34 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg ARM: update even more tests 2014-04-03 17:35:22 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh