llvm-6502/lib
Hal Finkel ab90084bca BBVectorize: Cap the number of candidate pairs in each instruction group
For some basic blocks, it is possible to generate many candidate pairs for
relatively few pairable instructions. When many (tens of thousands) of these pairs
are generated for a single instruction group, the time taken to generate and
rank the different vectorization plans can become quite large. As a result, we now
cap the number of candidate pairs within each instruction group. This is done by
closing out the group once the threshold is reached (set now at 3000 pairs).

Although this will limit the overall compile-time impact, this may not be the best
way to achieve this result. It might be better, for example, to prune excessive
candidate pairs after the fact the prevent the generation of short, but highly-connected
groups. We can experiment with this in the future.

This change reduces the overall compile-time slowdown of the csa.ll test case in
PR15222 to ~5x. If 5x is still considered too large, a lower limit can be
used as the default.

This represents a functionality change, but only for very large inputs
(thus, there is no regression test).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175251 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-15 04:28:42 +00:00
..
Analysis Teach the DataLayout aware constant folder to be much more aggressive towards 2013-02-14 03:23:37 +00:00
Archive Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
AsmParser Update comment. 2013-02-14 20:44:07 +00:00
Bitcode Have the bitcode writer and reader handle the new attribute references. 2013-02-12 08:13:50 +00:00
CodeGen Dont merge consecutive loads/stores into vectors when noimplicitfloat is used. 2013-02-14 18:28:52 +00:00
DebugInfo Add support for the pubnames section to llvm-dwarfdump. 2013-02-12 16:20:28 +00:00
ExecutionEngine [patch] bug 15055 Add Unistd.h to OProfileWrapper.cpp 2013-02-07 20:43:33 +00:00
IR Revert "Simplify the attributes '<' comparison function." 2013-02-15 04:15:55 +00:00
Linker Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. 2013-02-12 21:21:59 +00:00
MC Revert r15266. This fixes llvm.org/pr15266. 2013-02-14 16:23:08 +00:00
Object Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. 2013-02-12 21:21:59 +00:00
Option Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
Support Workaround an MSan false positive. 2013-02-14 12:18:32 +00:00
TableGen tblgen: Diagnose duplicate includes. 2013-02-07 04:30:39 +00:00
Target Fix minor mips16 issues in directives for function prologue. Probably this does 2013-02-15 01:04:38 +00:00
Transforms BBVectorize: Cap the number of candidate pairs in each instruction group 2013-02-15 04:28:42 +00:00
CMakeLists.txt Rename VMCore directory to IR. 2013-01-02 09:10:48 +00:00
LLVMBuild.txt Rename VMCore directory to IR. 2013-01-02 09:10:48 +00:00
Makefile Rename VMCore directory to IR. 2013-01-02 09:10:48 +00:00