Skip to content

Commit 149b3f5

Browse files
author
Meghana Gupta
committed
[MERGE #5142 @meg-gupta] Enable PathDependentBranchFolding in prepass, handle LdFld/StFld/InitFld
Merge pull request #5142 from meg-gupta:pathDepInPre - We can enable PathDependentBranchFolding in prepass safely. In prepass we can always trust the localValueTable we construct traversing the path, and we can trust the global valueTable when it is safe to do so. - Additional support for LdFld/StFld/InitFld is added to the value table. - A single InlineeEnd is supported to be skipped in the path for now.
2 parents bf38e2a + f0b4f62 commit 149b3f5

14 files changed

+1904
-1367
lines changed

RegenAllByteCodeNoBuild.cmd

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,8 @@ setlocal
2828
call GenByteCode.cmd
2929
call GenByteCode.cmd -nojit
3030
popd
31+
pushd %_reporoot%\lib\Runtime\Library\JsBuiltIn
32+
call GenByteCode.cmd
33+
call GenByteCode.cmd -nojit
34+
popd
3135
endlocal

lib/Backend/BackwardPass.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,10 +1144,6 @@ BackwardPass::MergeSuccBlocksInfo(BasicBlock * block)
11441144
}
11451145
}
11461146
block->upwardExposedUses = upwardExposedUses;
1147-
if (this->tag == Js::BackwardPhase)
1148-
{
1149-
block->successorBlockUses = upwardExposedUses ? upwardExposedUses->CopyNew(this->globOpt->alloc) : nullptr;
1150-
}
11511147
block->upwardExposedFields = upwardExposedFields;
11521148
block->typesNeedingKnownObjectLayout = typesNeedingKnownObjectLayout;
11531149
block->byteCodeUpwardExposedUsed = byteCodeUpwardExposedUsed;

0 commit comments

Comments
 (0)