summaryrefslogtreecommitdiff
path: root/packaging/0006-Set-local-variables-as-addr-exposed-if-it-appears-in.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/0006-Set-local-variables-as-addr-exposed-if-it-appears-in.patch')
-rw-r--r--packaging/0006-Set-local-variables-as-addr-exposed-if-it-appears-in.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/packaging/0006-Set-local-variables-as-addr-exposed-if-it-appears-in.patch b/packaging/0006-Set-local-variables-as-addr-exposed-if-it-appears-in.patch
new file mode 100644
index 0000000000..e8b06f412a
--- /dev/null
+++ b/packaging/0006-Set-local-variables-as-addr-exposed-if-it-appears-in.patch
@@ -0,0 +1,49 @@
+From 49b89a063fc18e2000a978ed0e0e0e2aeab42f8a Mon Sep 17 00:00:00 2001
+From: Jonghyun Park <parjong@gmail.com>
+Date: Wed, 14 Jun 2017 07:05:12 +0900
+Subject: [PATCH 06/23] Set local variables as addr-exposed if it appears in
+ ADDR expression
+
+---
+ src/jit/morph.cpp | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/src/jit/morph.cpp b/src/jit/morph.cpp
+index 27a1dae..629dc83 100644
+--- a/src/jit/morph.cpp
++++ b/src/jit/morph.cpp
+@@ -8921,7 +8921,6 @@ GenTreePtr Compiler::fgMorphOneAsgBlockOp(GenTreePtr tree)
+ }
+ else
+ {
+-#ifndef LEGACY_BACKEND
+
+ // The source argument of the copyblk can potentially
+ // be accessed only through indir(addr(lclVar))
+@@ -8931,6 +8930,7 @@ GenTreePtr Compiler::fgMorphOneAsgBlockOp(GenTreePtr tree)
+ // we don't delete it as a dead store later on.
+ unsigned lclVarNum = lclVarTree->gtLclVarCommon.gtLclNum;
+ lvaTable[lclVarNum].lvAddrExposed = true;
++#ifndef LEGACY_BACKEND
+ lvaSetVarDoNotEnregister(lclVarNum DEBUGARG(DNER_AddrExposed));
+
+ #else // LEGACY_BACKEND
+@@ -10301,7 +10301,6 @@ GenTreePtr Compiler::fgMorphCopyBlock(GenTreePtr tree)
+
+ tree = gtNewAssignNode(gtNewLclvNode(addrSpillTemp, TYP_BYREF), addrSpill);
+
+-#ifndef LEGACY_BACKEND
+ // If we are assigning the address of a LclVar here
+ // liveness does not account for this kind of address taken use.
+ //
+@@ -10319,7 +10318,6 @@ GenTreePtr Compiler::fgMorphCopyBlock(GenTreePtr tree)
+ lvaSetVarDoNotEnregister(lclVarNum DEBUGARG(DNER_AddrExposed));
+ }
+ }
+-#endif // !LEGACY_BACKEND
+ }
+
+ _AssignFields:
+--
+1.9.1
+