summaryrefslogtreecommitdiff
path: root/src/jit/morph.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/jit/morph.cpp')
-rw-r--r--src/jit/morph.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/jit/morph.cpp b/src/jit/morph.cpp
index efe8ec9fe8..f83fdaeb17 100644
--- a/src/jit/morph.cpp
+++ b/src/jit/morph.cpp
@@ -1619,7 +1619,7 @@ void fgArgInfo::ArgsComplete()
case 7:
// If we have a stack based LclVar we can perform a wider read of 4 or 8 bytes
//
- if (argObj->gtObj.gtOp1->IsVarAddr() == false) // Is the source not a LclVar?
+ if (argObj->gtObj.gtOp1->IsLocalAddrExpr() == nullptr) // Is the source not a LclVar?
{
// If we don't have a LclVar we need to read exactly 3,5,6 or 7 bytes
// For now we use a a GT_CPBLK to copy the exact size into a GT_LCL_VAR temp.
@@ -3052,7 +3052,7 @@ void Compiler::fgInitArgInfo(GenTreeCall* call)
// Change the node to TYP_I_IMPL so we don't report GC info
// NOTE: We deferred this from the importer because of the inliner.
- if (argx->IsVarAddr())
+ if (argx->IsLocalAddrExpr() != nullptr)
{
argx->gtType = TYP_I_IMPL;
}
@@ -3786,8 +3786,10 @@ GenTreeCall* Compiler::fgMorphArgs(GenTreeCall* call)
assert(size != 0);
argSlots += argEntry->getSlotCount();
- // lclVar address should have been retyped to TYP_I_IMPL.
- assert(!argx->IsVarAddr() || (argx->gtType == TYP_I_IMPL));
+ if (argx->IsLocalAddrExpr() != nullptr)
+ {
+ argx->gtType = TYP_I_IMPL;
+ }
// Get information about this argument.
var_types hfaType = argEntry->hfaType;
@@ -4077,7 +4079,7 @@ GenTreeCall* Compiler::fgMorphArgs(GenTreeCall* call)
// There are a few special cases where we can omit using a CopyBlk
// where we normally would need to use one.
- if (argObj->gtObj.gtOp1->IsVarAddr()) // Is the source a LclVar?
+ if (argObj->gtObj.gtOp1->IsLocalAddrExpr() != nullptr) // Is the source a LclVar?
{
copyBlkClass = NO_CLASS_HANDLE;
}