summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SplitKit.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2011-11-13 12:17:28 +0000
committerChandler Carruth <chandlerc@gmail.com>2011-11-13 12:17:28 +0000
commit0bb42c0f86b6423a7d95897433826298361daba8 (patch)
tree187a72b67ec6e5744c3c4f773b16fed8ee1dd2f3 /llvm/lib/CodeGen/SplitKit.cpp
parentf9213fe72177ecd7b596020ea629d1cb47bff238 (diff)
downloadbcm5719-llvm-0bb42c0f86b6423a7d95897433826298361daba8.tar.gz
bcm5719-llvm-0bb42c0f86b6423a7d95897433826298361daba8.zip
Teach MBP to force-merge layout successors for blocks with unanalyzable
branches that also may involve fallthrough. In the case of blocks with no fallthrough, we can still re-order the blocks profitably. For example instruction decoding will in some cases continue past an indirect jump, making laying out its most likely successor there profitable. Note, no test case. I don't know how to write a test case that exercises this logic, but it matches the described desired semantics in discussions with Jakob and others. If anyone has a nice example of IR that will trigger this, that would be lovely. Also note, there are still assertion failures in real world code with this. I'm digging into those next, now that I know this isn't the cause. llvm-svn: 144499
Diffstat (limited to 'llvm/lib/CodeGen/SplitKit.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud