summaryrefslogtreecommitdiff
path: root/tests/src/JIT/Regression/JitBlue/DevDiv_280120/DevDiv_280120.cs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/JIT/Regression/JitBlue/DevDiv_280120/DevDiv_280120.cs')
-rw-r--r--tests/src/JIT/Regression/JitBlue/DevDiv_280120/DevDiv_280120.cs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/src/JIT/Regression/JitBlue/DevDiv_280120/DevDiv_280120.cs b/tests/src/JIT/Regression/JitBlue/DevDiv_280120/DevDiv_280120.cs
new file mode 100644
index 0000000000..39888b100d
--- /dev/null
+++ b/tests/src/JIT/Regression/JitBlue/DevDiv_280120/DevDiv_280120.cs
@@ -0,0 +1,22 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+// This test was originally a repro for an assertion regarding incorrect lclVar ref counts due to a bug in the
+// decomposition of a long-typed st.lclFld node. The repro requires that a dead store of this type survives until
+// decomposition. We must therefore avoid running liveness before decomposition as part of this test, which requires
+// skipping SSA (and dependent optimizations). This pass is disabled in the project file by setting JitDoSsa to 0
+// before running the test.
+
+struct S
+{
+ long m_fld;
+ int m_a, m_b, m_c, m_d;
+
+ static int Main(string[] args)
+ {
+ S s;
+ s.m_fld = (long)args.Length;
+ return 100;
+ }
+}