llvm-project/llvm/test
Guozhi Wei 33250340f4 [SimplifyCFG] Don't do if-conversion if there is a long dependence chain
If after if-conversion, most of the instructions in this new BB construct a long and slow dependence chain, it may be slower than cmp/branch, even if the branch has a high miss rate, because the control dependence is transformed into data dependence, and control dependence can be speculated, and thus, the second part can execute in parallel with the first part on modern OOO processor.

This patch checks for the long dependence chain, and give up if-conversion if find one.

Differential Revision: https://reviews.llvm.org/D39352

llvm-svn: 321377
2017-12-22 18:54:04 +00:00
..
Analysis [ModRefInfo] Add must alias info to ModRefInfo. 2017-12-21 21:41:53 +00:00
Assembler [ConstantFold] Support vector index when factoring out GEP index into preceding dimensions 2017-12-04 19:56:33 +00:00
Bindings
Bitcode Hardware-assisted AddressSanitizer (llvm part). 2017-12-09 00:21:41 +00:00
BugPoint
CodeGen [SelectionDAG] Reverse the order of operands in the ISD::ADD created by TargetLowering::getVectorElementPointer so that the FrameIndex is on the left. 2017-12-22 17:18:13 +00:00
DebugInfo [DWARF v5] Rework of string offsets table reader 2017-12-21 19:38:13 +00:00
Examples
ExecutionEngine [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
Feature
FileCheck
Instrumentation [hwasan] Implement -fsanitize-recover=hwaddress. 2017-12-20 19:05:44 +00:00
Integer
JitListener
LTO [LTO] Make processing of combined module more consistent 2017-12-16 02:10:00 +00:00
Linker
MC [AMDGPU][MC] Corrected handling of negative expressions 2017-12-22 18:03:35 +00:00
Object Add flag to ArchiveWriter to test GNU64 format more efficiently 2017-12-01 00:54:28 +00:00
ObjectYAML [WebAssembly] Add support for init functions linking metadata 2017-12-14 21:10:03 +00:00
Other Fix more inconsistent line endings. NFC. 2017-12-18 19:46:56 +00:00
SafepointIRVerifier [SafepointIRVerifier] Allow deriving pointers from unrelocated base 2017-12-05 21:39:37 +00:00
SymbolRewriter
TableGen TableGen: Allow setting SDNodeProperties on intrinsics 2017-12-20 19:36:28 +00:00
ThinLTO/X86 [Support][CachePruning] Disable cache pruning regression fix 2017-12-19 14:42:38 +00:00
Transforms [SimplifyCFG] Don't do if-conversion if there is a long dependence chain 2017-12-22 18:54:04 +00:00
Unit
Verifier [Verifier] Check that GEP indexes has correct types 2017-12-14 09:33:58 +00:00
YAMLParser
tools [llvm-readobj] Support 'GNU' style for MIPS GOT/PLT dumping 2017-12-21 10:26:02 +00:00
.clang-format
CMakeLists.txt
TestRunner.sh
lit.cfg.py Add opt-viewer testing 2017-11-29 17:07:41 +00:00
lit.site.cfg.py.in Add opt-viewer testing 2017-11-29 17:07:41 +00:00