We use `GT_FIELD` for static field loads, which have no instance pointer.
Update the iterator constructor to recognize this as a valid state rather
than fail an assertion.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ffe7ea09fc7cb027cf832520090974de09947881
return;
case GT_FIELD:
- m_edge = &m_node->AsField()->gtFldObj;
- assert(*m_edge != nullptr);
- m_advance = &GenTreeUseEdgeIterator::Terminate;
+ if (m_node->AsField()->gtFldObj == nullptr)
+ {
+ m_state = -1;
+ }
+ else
+ {
+ m_edge = &m_node->AsField()->gtFldObj;
+ m_advance = &GenTreeUseEdgeIterator::Terminate;
+ }
return;
case GT_STMT: