llvm-6502/test
Andrew Trick facca6e3f3 Fix a bug in SCEV's backedge taken count computation from my prior fix in Jan.
This has to do with the trip count computation for loops with multiple
exits, which is quite subtle. Most passes just ask for a single trip
count number, so we must be conservative assuming any exit could be
taken.  Normally, we rely on the "exact" trip count, which was
correctly given as "unknown". However, SCEV also gives a "max"
back-edge taken count. The loops max BE taken count is conservatively
a maximum over the max of each exit's non-exiting iterations
count. Note that some exit tests can be skipped so the max loop
back-edge taken count can actually exceed the max non-exiting
iterations for some exits. However, when we know the loop *latch*
cannot be skipped, we can directly use its max taken count
disregarding other exits. I previously took the minimum here without
checking whether the other exit could be skipped. The correct, and
simpler thing to do here is just to directly use the loop latch's max
non-exiting iterations as the loops max back-edge count.

In the problematic test case, the first loop exit had a max of zero
non-exiting iterations, but could be skipped. The loop latch was known
not to be skipped but had max of one non-exiting iteration. We
incorrectly claimed the loop back-edge could be taken zero times, when
it is actually taken one time.

Fixes Loop %for.body.i: <multiple exits> Unpredictable backedge-taken count.
Loop %for.body.i: max backedge-taken count is 1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209358 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-22 00:37:03 +00:00
..
Analysis Fix a bug in SCEV's backedge taken count computation from my prior fix in Jan. 2014-05-22 00:37:03 +00:00
Assembler Fix most of PR10367. 2014-05-16 19:35:39 +00:00
Bindings Fix the ocaml test to not create a alias to a declaration. 2014-03-12 21:20:42 +00:00
Bitcode Add 'nonnull', a new parameter and return attribute which indicates that the pointer is not null. Instcombine will elide comparisons between these and null. Patch by Luqman Aden! 2014-05-20 01:23:40 +00:00
BugPoint Revert r206989, "Mark llvm/test/BugPoint/compile-custom.ll as XFAIL:vg_leak." It has been fixed since r207265. 2014-04-27 11:59:33 +00:00
CodeGen DebugInfo: Use the SPMap to find the parent CU of inlined functions as they may not be in the current CU 2014-05-21 23:14:12 +00:00
DebugInfo Revert "DebugInfo: Don't put fission type units in comdat sections." 2014-05-21 23:27:41 +00:00
ExecutionEngine Fix testers by removing dubious testcase for r209154. 2014-05-19 19:38:48 +00:00
Feature Fix most of PR10367. 2014-05-16 19:35:39 +00:00
FileCheck
Instrumentation [asan] Set debug location in ASan function prologue. 2014-05-14 10:30:15 +00:00
Integer
JitListener
Linker LTO: Add a testcase for linking modules with incompatible Debug Info 2014-05-19 23:41:25 +00:00
LTO IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
MC MC: correct IMAGE_REL_ARM_MOV32T relocation emission 2014-05-21 23:17:56 +00:00
Object Update MachOObjectFile::getSymbolAddress so it returns UnknownAddressOrSize 2014-05-20 23:04:47 +00:00
Other Fix most of PR10367. 2014-05-16 19:35:39 +00:00
TableGen test/TableGen: Remove XFAIL:vg_leak out of 3 tests corresponding to r208293. 2014-05-09 08:18:33 +00:00
tools ProfileData: Allow multiple profiles in RawInstrProfReader 2014-05-16 00:38:00 +00:00
Transforms Similar to bitcast, treat addrspacecast as a foldable operand. 2014-05-22 00:02:52 +00:00
Unit
Verifier Add comdat key field to llvm.global_ctors and llvm.global_dtors 2014-05-16 20:39:27 +00:00
YAMLParser
.clang-format
CMakeLists.txt OK, NAKAMURA Takumi beat me to this change. So backing out my addition of 2014-05-19 23:26:51 +00:00
lit.cfg [Test] Remove c-index-test from the list of substitutions 2014-05-07 18:16:02 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh