Minimal Fix for the incorrect rangecheck elimination issue reported by Mike Danes
authorBrian Sullivan <briansul@microsoft.com>
Wed, 28 Feb 2018 00:11:23 +0000 (16:11 -0800)
committerBrian Sullivan <briansul@microsoft.com>
Wed, 28 Feb 2018 00:11:23 +0000 (16:11 -0800)
commita44e805d0dea89ec370fc146210d718fc17e7d03
tree0a7c391beb638ba236170ad2b434cf4a651f44db
parentdbd533372e41b029398839056450c0fcac2b91f0
Minimal Fix for the incorrect rangecheck elimination issue reported by Mike Danes

RangeCheck::IsBinOpMonotonicallyIncreasing has a bug that results in incorrect range check elimination – when the second operand is a lclvar it does not check if it’s a positive value, it only checks if it’s monotonically increasing and any constant is treated as such.

[tfs-changeset: 1689890]
src/jit/rangecheck.cpp
src/jit/rangecheck.h