llvm-6502/include/llvm
Andrew Trick 7ce804a625 Merging 182989: Fix ScalarEvolution::ComputeExitLimitFromCond for 'or' conditions.
Fixes PR16130 - clang produces incorrect code with loop/expression at -O2.

    This is a 2+ year old bug that's now holding up the release. It's a
    case where we knowingly made aggressive assumptions about undefined
    behavior. These assumptions are wrong when SCEV is computing a
    subexpression that does not directly control the branch. With this
    fix, we avoid making assumptions in those cases but still optimize the
    common case. SCEV's trip count computation for exits controlled by
    'or' expressions is now analagous to the trip count computation for
    loops with multiple exits. I had already fixed the multiple exit case
    to be conservative.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182989 91177308-0d34-0410-b5e6-96231b3b80d8



git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_33@183013 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-31 16:06:18 +00:00
..
ADT Add ArrayRef constructor from None, and do the cleanups that this constructor enables 2013-05-05 00:40:33 +00:00
Analysis Merging 182989: Fix ScalarEvolution::ComputeExitLimitFromCond for 'or' conditions. 2013-05-31 16:06:18 +00:00
Assembly
Bitcode
CodeGen For ARM backend, fixed "byval" attribute support. 2013-05-05 07:48:36 +00:00
Config Allow host triple to be correctly overridden in CMake builds 2013-05-04 07:36:23 +00:00
DebugInfo
ExecutionEngine Add EH support to the MCJIT. 2013-05-05 20:43:10 +00:00
IR Merging r182394: 2013-05-29 06:56:17 +00:00
IRReader
MC Merging r181864: 2013-05-17 18:51:33 +00:00
Object Revert r181009. 2013-05-03 23:57:17 +00:00
Option
Support Implemented public interface for modifying registered (not positional or sink options) command line options at runtime. 2013-05-06 21:56:35 +00:00
TableGen
Target Move C++ code out of the C headers and into either C++ headers 2013-04-22 22:47:22 +00:00
Transforms fix a typo that due to cu&paste quadrupled itself 2013-04-26 18:10:50 +00:00
AutoUpgrade.h
CMakeLists.txt
DebugInfo.h Revert "Revert "PR14606: debug info imported_module support"" 2013-04-22 06:12:31 +00:00
DIBuilder.h Make doxygen comment match declaration. 2013-04-22 15:21:03 +00:00
GVMaterializer.h
InitializePasses.h
InstVisitor.h
LinkAllIR.h
LinkAllPasses.h
Linker.h Fix a performance bug in the Linker. 2013-05-04 05:05:18 +00:00
Pass.h
PassAnalysisSupport.h
PassManager.h This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
PassManagers.h
PassRegistry.h This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
PassSupport.h