1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/lib
Chandler Carruth bbc3bddb16 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
2011-11-13 12:17:28 +00:00
..
Analysis Don't try to loop on iterators that are potentially invalidated inside the loop. Fixes PR11361! 2011-11-12 03:09:12 +00:00
Archive build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
AsmParser build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
Bitcode build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
CodeGen Teach MBP to force-merge layout successors for blocks with unanalyzable 2011-11-13 12:17:28 +00:00
DebugInfo Audited all the format strings in libDebugInfo and fixed those that didn't match the types. 2011-11-05 16:01:13 +00:00
ExecutionEngine Fixed the MCJIT so that it can emit not only instance 2011-11-12 02:31:32 +00:00
Linker build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
MC build: Attempt to rectify inconsistencies between CMake and LLVMBuild versions of explicit dependencies. 2011-11-12 02:10:57 +00:00
Object build: Attempt to rectify inconsistencies between CMake and LLVMBuild versions of explicit dependencies. 2011-11-12 02:10:57 +00:00
Support Fix a typo. 2011-11-06 20:36:50 +00:00
TableGen ARM vldm and vstm VFP instructions can take a data type suffix. 2011-11-11 23:08:10 +00:00
Target The order in which the predicate is added differs between Thumb and ARM mode. Fix predicate when in ARM mode and restore SelectIntrinsicCall. 2011-11-13 09:44:21 +00:00
Transforms build: Attempt to rectify inconsistencies between CMake and LLVMBuild versions of explicit dependencies. 2011-11-12 02:10:57 +00:00
VMCore build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
CMakeLists.txt Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
LLVMBuild.txt build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
Makefile Remove more of llvmc and dependencies. 2011-09-20 00:34:27 +00:00