@@ -1599,6 +1599,11 @@ void LLVMCodeBuilder::createListAppend(List *list, CompilerValue *item)
15991599 if (m_listPtrs.find (list) == m_listPtrs.cend ())
16001600 m_listPtrs[list] = LLVMListPtr ();
16011601
1602+ if (m_loopScope >= 0 ) {
1603+ auto scope = m_loopScopes[m_loopScope];
1604+ m_listPtrs[list].loopListWrites [scope].push_back (m_instructions.back ());
1605+ }
1606+
16021607 m_listInstructions.push_back (m_instructions.back ());
16031608}
16041609
@@ -1611,6 +1616,11 @@ void LLVMCodeBuilder::createListInsert(List *list, CompilerValue *index, Compile
16111616 if (m_listPtrs.find (list) == m_listPtrs.cend ())
16121617 m_listPtrs[list] = LLVMListPtr ();
16131618
1619+ if (m_loopScope >= 0 ) {
1620+ auto scope = m_loopScopes[m_loopScope];
1621+ m_listPtrs[list].loopListWrites [scope].push_back (m_instructions.back ());
1622+ }
1623+
16141624 m_listInstructions.push_back (m_instructions.back ());
16151625}
16161626
@@ -1623,6 +1633,11 @@ void LLVMCodeBuilder::createListReplace(List *list, CompilerValue *index, Compil
16231633 if (m_listPtrs.find (list) == m_listPtrs.cend ())
16241634 m_listPtrs[list] = LLVMListPtr ();
16251635
1636+ if (m_loopScope >= 0 ) {
1637+ auto scope = m_loopScopes[m_loopScope];
1638+ m_listPtrs[list].loopListWrites [scope].push_back (m_instructions.back ());
1639+ }
1640+
16261641 m_listInstructions.push_back (m_instructions.back ());
16271642}
16281643
0 commit comments