diff options
Diffstat (limited to 'src/coreclr')
-rw-r--r-- | src/coreclr/jit/sideeffects.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/coreclr/jit/sideeffects.h b/src/coreclr/jit/sideeffects.h index 9f28e5fe419..f16fe59c9bd 100644 --- a/src/coreclr/jit/sideeffects.h +++ b/src/coreclr/jit/sideeffects.h @@ -128,8 +128,12 @@ public: if ((m_flags & ALIAS_WRITES_LCL_VAR) != 0) { + // Stores to 'lvLiveInOutOfHndlr' locals cannot be reordered with + // exception-throwing nodes so we conservatively consider them + // globally visible. + LclVarDsc* const varDsc = m_compiler->lvaGetDesc(LclNum()); - return varDsc->IsAlwaysAliveInMemory(); + return varDsc->lvLiveInOutOfHndlr != 0; } return false; |