llvm-6502/test
Arnold Schwaighofer 07a3c481c6 LoopVectorizer: Extend the induction variable to a larger type
In some case the loop exit count computation can overflow. Extend the type to
prevent most of those cases.

The problem is loops like:
int main ()
{
  int a = 1;
  char b = 0;
  lbl:
    a &= 4;
    b--;
    if (b) goto lbl;
  return a;
}

The backedge count is 255. The induction variable type is i8. If we add one to
255 to get the exit count we overflow to zero.

To work around this issue we extend the type of the induction variable to i32 in
the case of i8 and i16.

PR17532

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195008 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-18 13:14:32 +00:00
..
Analysis Use correct size for address space in BasicAA. 2013-11-16 00:36:43 +00:00
Assembler Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
Bindings [OCaml] Add REQUIRES: native, object-emission to the Target test 2013-11-15 03:43:51 +00:00
Bitcode Change BitcodeReader to use error_code instead of bool + string. 2013-11-04 16:16:24 +00:00
BugPoint [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
CodeGen [mips] Fix 'ran out of registers' in MIPS32 with FP64 when generating code for (ConstantFP 0.0) 2013-11-18 13:12:43 +00:00
DebugInfo For dwarf4 use the correct form for referencing debug_loc locations, 2013-11-16 00:18:40 +00:00
ExecutionEngine Add XFAIL:arm again on 4 MCJIT tests, since r194558. AArch64 has been left removed. 2013-11-13 07:43:10 +00:00
Feature Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
FileCheck FileCheck: fix matching of one check-prefix is a prefix of another 2013-11-13 14:12:52 +00:00
Instrumentation Reapply "[asan] Poor man's coverage that works with ASan" 2013-11-15 07:16:09 +00:00
Integer [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
JitListener Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
Linker Debug Info: remove duplication of DIEs when a DIE can be shared across CUs. 2013-10-31 17:54:35 +00:00
LTO Protect user-supplied runtime library functions in LTO 2013-11-12 21:44:01 +00:00
MC [mips][msa] Update encoding of bnz.v (typo). 2013-11-18 13:09:54 +00:00
Object llvm-ar: Let opening a directory failed in llvm-ar. 2013-11-08 12:35:56 +00:00
Other Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
TableGen Mark 36 tests as XFAIL:vg_leak in llvm/test/TableGen. 2013-11-10 14:26:08 +00:00
tools Path: Recognize COFF import library file magic. 2013-11-15 21:22:02 +00:00
Transforms LoopVectorizer: Extend the induction variable to a larger type 2013-11-18 13:14:32 +00:00
Unit
Verifier Add Verifier test case for variable argument intrinsics. 2013-10-31 17:18:17 +00:00
YAMLParser [Support][YAML] Add support for accessing tags and tag handle substitution. 2013-10-18 22:38:04 +00:00
CMakeLists.txt lit: add missing substitutions for recently added tools 2013-10-28 23:37:49 +00:00
lit.cfg lit: add missing substitutions for recently added tools 2013-10-28 23:37:49 +00:00
lit.site.cfg.in Fix LTO handling of module-level assembly (PR14152). 2013-09-19 22:15:52 +00:00
Makefile [OCaml] Dynamically link LLVM on --enable-shared builds 2013-11-12 20:55:49 +00:00
Makefile.tests
TestRunner.sh