llvm/test
John Brawn 9e0c61cbeb [LoopUnroll] Keep the loop test only on the first iteration of max-or-zero loops
When we have a loop with a known upper bound on the number of iterations, and
furthermore know that either the number of iterations will be either exactly
that upper bound or zero, then we can fully unroll up to that upper bound
keeping only the first loop test to check for the zero iteration case.

Most of the work here is in plumbing this 'max-or-zero' information from the
part of scalar evolution where it's detected through to loop unrolling. I've
also gone for the safe default of 'false' everywhere but howManyLessThans which
could probably be improved.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284818 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-21 11:08:48 +00:00
..
Analysis [LoopUnroll] Keep the loop test only on the first iteration of max-or-zero loops 2016-10-21 11:08:48 +00:00
Assembler DebugInfo: preparation to implement DW_AT_alignment 2016-10-20 00:13:12 +00:00
Bindings
Bitcode DebugInfo: remove broken bitcode upgrade test 2016-10-20 00:26:36 +00:00
BugPoint
CodeGen [X86][AVX] Add 32-bit target tests for vector lzcnt/tzcnt to demonstrate missed folding opportunities 2016-10-21 10:50:52 +00:00
DebugInfo Using branch probability to guide critical edge splitting. 2016-10-20 18:06:52 +00:00
Demangle
Examples
ExecutionEngine Fix PREL31 relocation on ARM 2016-10-20 21:15:29 +00:00
Feature
FileCheck
Instrumentation
Integer
JitListener
LibDriver
Linker
LTO
MC X86: Allow expressions to appear as u8imm operands. 2016-10-20 01:58:34 +00:00
Object Another additional error check for invalid Mach-O files for the 2016-10-20 20:10:30 +00:00
ObjectYAML
Other
SymbolRewriter
TableGen
ThinLTO/X86
tools [PGO] Fix bogus warning for merging empty llvm profile file 2016-10-19 22:51:17 +00:00
Transforms [LoopUnroll] Keep the loop test only on the first iteration of max-or-zero loops 2016-10-21 11:08:48 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
TestRunner.sh