Respect JitNoRangeChks flag in RyuJit
authorJoseph Tremoulet <jotrem@microsoft.com>
Tue, 20 Sep 2016 20:09:32 +0000 (16:09 -0400)
committerJoseph Tremoulet <jotrem@microsoft.com>
Tue, 20 Sep 2016 21:28:39 +0000 (17:28 -0400)
commit305f52b4b1760b6d877e78abee5881c79f3bbea6
treecc8c7101f897e5183add72024c854dbb8a36ce2c
parentd7c9a3513fed11544d170dff66765c16ca93b530
Respect JitNoRangeChks flag in RyuJit

Honor this config flag by having assertion prop treat all bounds check
nodes as redundant when it is set.

Also change the flag's lookup options to `REGUTIL_default` to match the
rest of the jit-focused flags.

Note that support for this flag is conditional on having the preprocessor
flag `FEATURE_ENABLE_NO_RANGE_CHECKS` defined, which requires a custom
build with line 199 of inc/switches.h un-commented (or with compile flags
altered to include `-DFEATURE_ENABLE_NO_RANGE_CHECKS`) -- the purpose of
the flag is to facilitate experiments to estimate the cumulative cost of
bounds checking in various workloads.

Commit migrated from https://github.com/dotnet/coreclr/commit/0aebfbef08a28b28dbf687d7f49cbc8369ea441a
src/coreclr/src/inc/clrconfigvalues.h
src/coreclr/src/jit/assertionprop.cpp
src/coreclr/src/jit/jitconfig.h
src/coreclr/src/jit/jitconfigvalues.h