Skip to content

Commit ac3238e

Browse files
Closure Teamcopybara-github
Closure Team
authored andcommittedMay 15, 2024·
Disable UnreachableCodeElimination pass
PiperOrigin-RevId: 633963346
1 parent 59fdad1 commit ac3238e

File tree

4 files changed

+17
-31
lines changed

4 files changed

+17
-31
lines changed
 

‎src/com/google/javascript/jscomp/DefaultPassConfig.java

-18
Original file line numberDiff line numberDiff line change
@@ -985,10 +985,6 @@ private PassListBuilder getEarlyOptimizationLoopPasses() {
985985
earlyLoopPasses.maybeAdd(peepholeOptimizations);
986986
}
987987

988-
if (options.removeUnreachableCode) {
989-
earlyLoopPasses.maybeAdd(removeUnreachableCode);
990-
}
991-
992988
earlyLoopPasses.assertAllLoopablePasses();
993989
return earlyLoopPasses;
994990
}
@@ -1060,9 +1056,6 @@ private PassListBuilder getPostL10nOptimizations() {
10601056
loopPasses.maybeAdd(peepholeOptimizations);
10611057
}
10621058

1063-
if (options.removeUnreachableCode) {
1064-
loopPasses.maybeAdd(removeUnreachableCode);
1065-
}
10661059
loopPasses.assertAllLoopablePasses();
10671060
return loopPasses;
10681061
}
@@ -1129,9 +1122,6 @@ private PassListBuilder getMainOptimizationLoop() {
11291122
passes.maybeAdd(peepholeOptimizations);
11301123
}
11311124

1132-
if (options.removeUnreachableCode) {
1133-
passes.maybeAdd(removeUnreachableCode);
1134-
}
11351125

11361126
passes.assertAllLoopablePasses();
11371127
return passes;
@@ -2266,14 +2256,6 @@ public void process(Node externs, Node root) {
22662256
(compiler) -> new InlineVariables(compiler, InlineVariables.Mode.CONSTANTS_ONLY))
22672257
.build();
22682258

2269-
/** Use data flow analysis to remove dead branches. */
2270-
private final PassFactory removeUnreachableCode =
2271-
PassFactory.builder()
2272-
.setName(PassNames.REMOVE_UNREACHABLE_CODE)
2273-
.setRunInFixedPointLoop(true)
2274-
.setInternalFactory(UnreachableCodeElimination::new)
2275-
.build();
2276-
22772259
/** Inlines simple methods, like getters */
22782260
private final PassFactory inlineSimpleMethods =
22792261
PassFactory.builder()

‎test/com/google/javascript/jscomp/MultiPassTest.java

+1-10
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public void testInlineFunctionsAndPeephole() {
9090
public void testInlineVarsAndDeadCodeElim() {
9191
passes = new ArrayList<>();
9292
addInlineVariables();
93-
addDeadCodeElimination();
93+
addPeephole();
9494
test("function f() { var x = 1; return x; x = 3; }", "function f() { return 1; }");
9595
}
9696

@@ -390,15 +390,6 @@ private void addCollapseObjectLiterals() {
390390
.build());
391391
}
392392

393-
private void addDeadCodeElimination() {
394-
passes.add(
395-
PassFactory.builder()
396-
.setName("removeUnreachableCode")
397-
.setRunInFixedPointLoop(true)
398-
.setInternalFactory(UnreachableCodeElimination::new)
399-
.build());
400-
}
401-
402393
private void addInlineFunctions() {
403394
passes.add(
404395
PassFactory.builder()

‎test/com/google/javascript/jscomp/integration/AdvancedOptimizationsIntegrationTest.java

+14-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,20 @@ public void testObjectDestructuring_forLoopInitializer_doesNotCrash() {
9999
" $jscomp$loop$98447280$2.key = path.key;",
100100
" return path;",
101101
" };",
102-
" }($jscomp$loop$98447280$2)(); $jscomp$loop$98447280$2.parentPath;) {",
102+
" }($jscomp$loop$98447280$2)();",
103+
" $jscomp$loop$98447280$2.parentPath;",
104+
" $jscomp$loop$98447280$2 = {",
105+
" parentPath:$jscomp$loop$98447280$2.parentPath,",
106+
" key:$jscomp$loop$98447280$2.key",
107+
" },",
108+
" function($jscomp$loop$98447280$2) { ",
109+
" return function() { ",
110+
" var $jscomp$destructuring$var3 = $jscomp$loop$98447280$2.parentPath; ",
111+
" $jscomp$loop$98447280$2.parentPath = $jscomp$destructuring$var3.parentPath; ",
112+
" $jscomp$loop$98447280$2.key = $jscomp$destructuring$var3.key; ",
113+
" return $jscomp$destructuring$var3; ",
114+
" }; ",
115+
" }($jscomp$loop$98447280$2)()) {",
103116
" return isDeclaredInLoop($jscomp$loop$98447280$2.parentPath);",
104117
" }",
105118
" return !1;",

‎test/com/google/javascript/jscomp/integration/IntegrationTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1531,7 +1531,7 @@ public void testDisambiguatePropertiesWithPropertyInvalidationError() {
15311531
public void testMarkPureCalls() {
15321532
String testCode = "function foo() {} foo();";
15331533
CompilerOptions options = createCompilerOptions();
1534-
options.setRemoveUnreachableCode(true);
1534+
options.setFoldConstants(true);
15351535

15361536
testSame(options, testCode);
15371537

@@ -1748,7 +1748,7 @@ public void testRemoveUnreachableCode() {
17481748
String code = "function f() { return; f(); }";
17491749
testSame(options, code);
17501750

1751-
options.setRemoveUnreachableCode(true);
1751+
options.setFoldConstants(true);
17521752
test(options, code, "function f() {}");
17531753
}
17541754

0 commit comments

Comments
 (0)
Please sign in to comment.