Introduce enum for BasicBlock and loop flags (#52410)
authorBruce Forstall <brucefo@microsoft.com>
Wed, 12 May 2021 16:36:19 +0000 (09:36 -0700)
committerGitHub <noreply@github.com>
Wed, 12 May 2021 16:36:19 +0000 (09:36 -0700)
commit72e2c89e10086543954c3424b5fa3ad0cfb135d0
treea2f44580fb77578514e80d2165835c9fa63498c1
parent5297337e5b7db9feef81f612f3d4e70128c7fa55
Introduce enum for BasicBlock and loop flags (#52410)

* Introduce enum for BasicBlock and loop flags

This gives a better debugging experience in Visual Studio. It
also improves type checking: there were a few places still using
`unsigned` instead of `unsigned __int64` when manipulating
BasicBlock flags.

* Make sure debugreturn and contracts are disabled for the JIT build

* Convert GenTree flags, debug flags, and call flags to enums

* Remove bad GT_HWINTRINSIC copy/paste code from GenTree::GetRegSpillFlagByIdx
26 files changed:
src/coreclr/inc/contract.h
src/coreclr/inc/debugreturn.h
src/coreclr/jit/assertionprop.cpp
src/coreclr/jit/block.cpp
src/coreclr/jit/block.h
src/coreclr/jit/codegenlinear.cpp
src/coreclr/jit/compiler.h
src/coreclr/jit/compiler.hpp
src/coreclr/jit/fgbasic.cpp
src/coreclr/jit/fgdiagnostic.cpp
src/coreclr/jit/fginline.cpp
src/coreclr/jit/fgopt.cpp
src/coreclr/jit/flowgraph.cpp
src/coreclr/jit/gentree.cpp
src/coreclr/jit/gentree.h
src/coreclr/jit/importer.cpp
src/coreclr/jit/lclmorph.cpp
src/coreclr/jit/lower.cpp
src/coreclr/jit/morph.cpp
src/coreclr/jit/optimizer.cpp
src/coreclr/jit/rangecheck.cpp
src/coreclr/jit/rationalize.cpp
src/coreclr/jit/regset.cpp
src/coreclr/jit/treelifeupdater.cpp
src/coreclr/jit/valuenum.cpp
src/coreclr/jit/valuenum.h