}
break;
case GT_INDEX:
- if (op1->gtIndex.gtIndElemSize != op2->gtIndex.gtIndElemSize)
+ if (op1->AsIndex()->gtIndElemSize != op2->AsIndex()->gtIndElemSize)
{
return false;
}
hash ^= tree->AsCast()->gtCastType;
break;
case GT_INDEX:
- hash += tree->gtIndex.gtIndElemSize;
+ hash += tree->AsIndex()->gtIndElemSize;
break;
case GT_INDEX_ADDR:
hash += tree->AsIndexAddr()->gtElemSize;
structHnd = tree->AsArgPlace()->gtArgPlaceClsHnd;
break;
case GT_INDEX:
- structHnd = tree->gtIndex.gtStructElemClass;
+ structHnd = tree->AsIndex()->gtStructElemClass;
break;
case GT_FIELD:
info.compCompHnd->getFieldType(tree->AsField()->gtFldHnd, &structHnd);
else if (src->gtOper == GT_INDEX)
{
asgType = impNormStructType(structHnd);
- assert(src->gtIndex.gtStructElemClass == structHnd);
+ assert(src->AsIndex()->gtStructElemClass == structHnd);
}
else if (src->gtOper == GT_MKREFANY)
{
case GT_INDEX:
// This will be transformed to an OBJ later.
- alreadyNormalized = true;
- structVal->gtIndex.gtStructElemClass = structHnd;
- structVal->gtIndex.gtIndElemSize = info.compCompHnd->getClassSize(structHnd);
+ alreadyNormalized = true;
+ structVal->AsIndex()->gtStructElemClass = structHnd;
+ structVal->AsIndex()->gtIndElemSize = info.compCompHnd->getClassSize(structHnd);
break;
case GT_FIELD:
// remember the element size
if (lclTyp == TYP_REF)
{
- op1->gtIndex.gtIndElemSize = TARGET_POINTER_SIZE;
+ op1->AsIndex()->gtIndElemSize = TARGET_POINTER_SIZE;
}
else
{
// If ldElemClass is precisely a primitive type, use that, otherwise, preserve the struct type.
if (info.compCompHnd->getTypeForPrimitiveValueClass(ldelemClsHnd) == CORINFO_TYPE_UNDEF)
{
- op1->gtIndex.gtStructElemClass = ldelemClsHnd;
+ op1->AsIndex()->gtStructElemClass = ldelemClsHnd;
}
- assert(lclTyp != TYP_STRUCT || op1->gtIndex.gtStructElemClass != nullptr);
+ assert(lclTyp != TYP_STRUCT || op1->AsIndex()->gtStructElemClass != nullptr);
if (lclTyp == TYP_STRUCT)
{
- size = info.compCompHnd->getClassSize(ldelemClsHnd);
- op1->gtIndex.gtIndElemSize = size;
- op1->gtType = lclTyp;
+ size = info.compCompHnd->getClassSize(ldelemClsHnd);
+ op1->AsIndex()->gtIndElemSize = size;
+ op1->gtType = lclTyp;
}
}
{
assert(stelemClsHnd != DUMMY_INIT(NULL));
- op1->gtIndex.gtStructElemClass = stelemClsHnd;
- op1->gtIndex.gtIndElemSize = info.compCompHnd->getClassSize(stelemClsHnd);
+ op1->AsIndex()->gtStructElemClass = stelemClsHnd;
+ op1->AsIndex()->gtIndElemSize = info.compCompHnd->getClassSize(stelemClsHnd);
}
if (varTypeIsStruct(op1))
{
GenTreeIndex* asIndex = tree->AsIndex();
var_types elemTyp = tree->TypeGet();
- unsigned elemSize = tree->gtIndex.gtIndElemSize;
- CORINFO_CLASS_HANDLE elemStructType = tree->gtIndex.gtStructElemClass;
+ unsigned elemSize = tree->AsIndex()->gtIndElemSize;
+ CORINFO_CLASS_HANDLE elemStructType = tree->AsIndex()->gtStructElemClass;
noway_assert(elemTyp != TYP_STRUCT || elemStructType != nullptr);