llvm-6502/lib/Transforms
Chandler Carruth 6f0ec20e8f Revert "indvars: Improve LFTR by eliminating truncation when comparing
against a constant."

This reverts commit r186107. It didn't handle wrapping arithmetic in the
loop correctly and thus caused the following C program to count from
0 to UINT64_MAX instead of from 0 to 255 as intended:

  #include <stdio.h>
  int main() {
    unsigned char first = 0, last = 255;
    do { printf("%d\n", first); } while (first++ != last);
  }

Full test case and instructions to reproduce with just the -indvars pass
sent to the original review thread rather than to r186107's commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186152 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-12 11:18:55 +00:00
..
Hello Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
InstCombine Don't use a potentially expensive shift if all we want is one set bit. 2013-07-11 16:05:50 +00:00
Instrumentation Implement categories for special case lists. 2013-07-09 22:03:17 +00:00
IPO Fix comment 2013-07-08 23:57:07 +00:00
ObjCARC [objc-arc] Changed 'mode: c++' => 'C++' at Nick Lewycky's suggestion. Also removed unnecessary mode: c++ lines from .cpp files. 2013-07-10 18:49:00 +00:00
Scalar Revert "indvars: Improve LFTR by eliminating truncation when comparing 2013-07-12 11:18:55 +00:00
Utils Don't use a potentially expensive shift if all we want is one set bit. 2013-07-11 16:05:50 +00:00
Vectorize SLPVectorizer: Sink and enable CSE for ExtractElements. 2013-07-12 06:09:24 +00:00
CMakeLists.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
LLVMBuild.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
Makefile Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00