diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-02-09 18:34:55 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-02-09 18:34:55 +0000 |
commit | bf5d870dfab3617f9dadb22e836503b88ba4c4af (patch) | |
tree | a6ef5155b5199e9cfb5ee64c67ff64ca3101cdf2 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 7eedd1c3815ebe8e2e31a0f70b8746e83e096e06 (diff) | |
download | llvm-bf5d870dfab3617f9dadb22e836503b88ba4c4af.zip llvm-bf5d870dfab3617f9dadb22e836503b88ba4c4af.tar.gz llvm-bf5d870dfab3617f9dadb22e836503b88ba4c4af.tar.bz2 |
Bugfix: SCEV incorrectly marks certain add recurrences as nsw
When creating a scev for sext({X,+,Y}), scev checks if the expression
is equivalent to {sext X,+,zext Y}. If it can prove that, it also
tags the original {X,+,Y} as <nsw>, which is not correct.
In the test case I run `-scalar-evolution` twice because the bug
manifests only once SCEV has run through and seen the `sext`
expressions (and then does a in-place mutation on {X,+,Y}).
Differential Revision: http://reviews.llvm.org/D7495
llvm-svn: 228586
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions