diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-09-20 01:52:18 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-09-20 01:52:18 +0000 |
commit | 428db150d16f671d9e99726a5068c6613496e799 (patch) | |
tree | cd4c35c60f328d6acd1a26f022a5da2ee1be6b34 /llvm/lib/Target/X86/X86FastISel.cpp | |
parent | f49712a8536f35929f956262ebad5a7d83150719 (diff) | |
download | bcm5719-llvm-428db150d16f671d9e99726a5068c6613496e799.tar.gz bcm5719-llvm-428db150d16f671d9e99726a5068c6613496e799.zip |
[IndVars] Fix a bug in r248045.
Because -indvars widens induction variables through arithmetic,
`NeverNegative` cannot be a property of the `WidenIV` (a `WidenIV`
manages information for all transitive uses of an IV being widened,
including uses of `-1 * IV`). Instead it must live on `NarrowIVDefUse`
which manages information for a specific def-use edge in the transitive
use list of an induction variable.
This change also adds a test case that demonstrates the problem with
r248045.
llvm-svn: 248107
Diffstat (limited to 'llvm/lib/Target/X86/X86FastISel.cpp')
0 files changed, 0 insertions, 0 deletions