summaryrefslogtreecommitdiff
path: root/src/jit/valuenum.h
diff options
context:
space:
mode:
authorJoseph Tremoulet <jotrem@microsoft.com>2017-01-13 14:55:06 -0500
committerJoseph Tremoulet <jotrem@microsoft.com>2017-02-08 09:32:46 -0500
commita796400efe6bd2bc223b9d9367ec3b8a45647860 (patch)
treee3d196c993b72d56826d255af356a739b07f17be /src/jit/valuenum.h
parent1c6a419710ed292f2fa48e459239ee95e3ed2ca2 (diff)
downloadcoreclr-a796400efe6bd2bc223b9d9367ec3b8a45647860.tar.gz
coreclr-a796400efe6bd2bc223b9d9367ec3b8a45647860.tar.bz2
coreclr-a796400efe6bd2bc223b9d9367ec3b8a45647860.zip
Value-number `ByrefExposed` memory and loads
Teach value numbering to keep track of the current value number for `ByrefExposed` memory, updating it appropriately at relevant stores. Introduce a new VN operator `ByrefExposedLoad`, used for loads of address-exposed locals and loads by indirs that don't have more specific value numbers, which is a function of the current `ByrefExposed` memory VN and the pointer VN. This allows loop hoisting and CSE to recognize redundant loads via byrefs when there are no intervening stores. Fixes #7903.
Diffstat (limited to 'src/jit/valuenum.h')
-rw-r--r--src/jit/valuenum.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/jit/valuenum.h b/src/jit/valuenum.h
index e0443dc18c..e6e0e43a33 100644
--- a/src/jit/valuenum.h
+++ b/src/jit/valuenum.h
@@ -217,7 +217,7 @@ private:
#ifdef DEBUG
// This helps test some performance pathologies related to "evaluation" of VNF_MapSelect terms,
- // especially relating to the GcHeap. We count the number of applications of such terms we consider,
+ // especially relating to GcHeap/ByrefExposed. We count the number of applications of such terms we consider,
// and if this exceeds a limit, indicated by a COMPlus_ variable, we assert.
unsigned m_numMapSels;
#endif