1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 22:42:46 +02:00
llvm-mirror/lib/Transforms/Vectorize
Arnold Schwaighofer c532e0f494 LoopVectorize: Use the widest induction variable type
Use the widest induction type encountered for the cannonical induction variable.

We used to turn the following loop into an empty loop because we used i8 as
induction variable type and truncated 1024 to 0 as trip count.

int a[1024];
void fail() {
  int reverse_induction = 1023;
  unsigned char forward_induction = 0;
  while ((reverse_induction) >= 0) {
    forward_induction++;
    a[reverse_induction] = forward_induction;
    --reverse_induction;
  }
}

radar://13862901

llvm-svn: 181667
2013-05-11 23:04:28 +00:00
..
BBVectorize.cpp BBVectorize: Fixup debugging statements 2013-03-10 20:57:42 +00:00
CMakeLists.txt Add support for bottom-up SLP vectorization infrastructure. 2013-04-09 19:44:35 +00:00
LLVMBuild.txt
LoopVectorize.cpp LoopVectorize: Use the widest induction variable type 2013-05-11 23:04:28 +00:00
Makefile
SLPVectorizer.cpp Add a debug print 2013-05-10 22:56:18 +00:00
Vectorize.cpp This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
VecUtils.cpp SLPVectorizer: Add support for trees with external users. 2013-05-10 22:59:33 +00:00
VecUtils.h SLPVectorizer: Add support for trees with external users. 2013-05-10 22:59:33 +00:00