diff --git a/lib/Backend/GlobOpt.cpp b/lib/Backend/GlobOpt.cpp index 6a1cc9de1a9..3087b08d586 100644 --- a/lib/Backend/GlobOpt.cpp +++ b/lib/Backend/GlobOpt.cpp @@ -13375,6 +13375,7 @@ GlobOpt::CheckJsArrayKills(IR::Instr *const instr) case IR::HelperArray_Shift: case IR::HelperArray_Splice: case IR::HelperArray_Unshift: + case IR::HelperArray_Concat: kills.SetKillsArrayHeadSegments(); kills.SetKillsArrayHeadSegmentLengths(); break; @@ -13404,6 +13405,7 @@ GlobOpt::CheckJsArrayKills(IR::Instr *const instr) //case IR::HelperArray_Sort: case IR::HelperArray_Splice: case IR::HelperArray_Unshift: + case IR::HelperArray_Concat: kills.SetKillsNativeArrays(); break; } diff --git a/lib/Backend/GlobOptExpr.cpp b/lib/Backend/GlobOptExpr.cpp index 2af0dbd129a..cc1d4ff0820 100644 --- a/lib/Backend/GlobOptExpr.cpp +++ b/lib/Backend/GlobOptExpr.cpp @@ -844,6 +844,7 @@ GlobOpt::ProcessArrayValueKills(IR::Instr *instr) case IR::HelperArray_Shift: case IR::HelperArray_Unshift: case IR::HelperArray_Splice: + case IR::HelperArray_Concat: this->currentBlock->globOptData.liveArrayValues->ClearAll(); break; }