JVM remove dead code during constant condition elimination

This avoids an extra call to 'analyze', which is rather costly.

Update debugger testData: Constant condition
elimination now performs DCE more consistently.
This commit is contained in:
Dmitry Petrov
2021-06-01 17:16:27 +03:00
committed by TeamCityServer
parent 1fd94d1bc2
commit 7a43c2de79
18 changed files with 357 additions and 13 deletions
+1 -2
View File
@@ -16,7 +16,7 @@ fun box(): String {
}
} finally {
return "OK"
} // TODO: why do we go to this line before going to the line above for the finally block.
}
return "FAIL"
}
@@ -33,5 +33,4 @@ fun box(): String {
// test.kt:10 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:11 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String
// test.kt:14 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:19 box:
// test.kt:18 box:
+1 -2
View File
@@ -16,7 +16,7 @@ fun box(): String {
}
} finally {
return "OK"
} // TODO: why stop here before the line above for the finally block?
}
return "FAIL"
}
@@ -33,6 +33,5 @@ fun box(): String {
// test.kt:10 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:11 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException, y:java.lang.String="y":java.lang.String
// test.kt:14 box: i:int=0:int, e:java.lang.Exception=java.lang.RuntimeException
// test.kt:19 box:
// test.kt:18 box:
+12
View File
@@ -59,13 +59,21 @@ fun box() {
// test.kt:32 mightThrow2
// test.kt:33 mightThrow2
// test.kt:11 foo
// LINENUMBERS JVM_IR
// test.kt:10 foo
// LINENUMBERS JVM
// test.kt:13 foo
// LINENUMBERS
// test.kt:16 foo
// test.kt:17 foo
// test.kt:36 mightThrow3
// test.kt:37 mightThrow3
// test.kt:17 foo
// LINENUMBERS JVM_IR
// test.kt:16 foo
// LINENUMBERS JVM
// test.kt:19 foo
// LINENUMBERS
// test.kt:21 foo
// test.kt:42 box
// test.kt:43 box
@@ -79,7 +87,11 @@ fun box() {
// test.kt:32 mightThrow2
// test.kt:33 mightThrow2
// test.kt:11 foo
// LINENUMBERS JVM
// test.kt:13 foo
// LINENUMBERS JVM_IR
// test.kt:10 foo
// LINENUMBERS
// test.kt:16 foo
// test.kt:17 foo
// test.kt:36 mightThrow3
+13 -1
View File
@@ -52,7 +52,11 @@ fun box() {
// test.kt:13 foo
// test.kt:17 foo
// test.kt:18 foo
// LINENUMBERS JVM
// test.kt:17 foo
// LINENUMBERS JVM_IR
// test.kt:12 foo
// LINENUMBERS
// test.kt:19 foo
// test.kt:34 box
// test.kt:35 box
@@ -69,7 +73,11 @@ fun box() {
// test.kt:15 foo
// test.kt:17 foo
// test.kt:18 foo
// LINENUMBERS JVM
// test.kt:17 foo
// LINENUMBERS JVM_IR
// test.kt:12 foo
// LINENUMBERS
// test.kt:19 foo
// test.kt:36 box
// test.kt:37 box
@@ -87,6 +95,10 @@ fun box() {
// test.kt:15 foo
// test.kt:17 foo
// test.kt:18 foo
// LINENUMBERS JVM
// test.kt:17 foo
// LINENUMBERS JVM_IR
// test.kt:12 foo
// LINENUMBERS
// test.kt:19 foo
// test.kt:38 box
// test.kt:38 box
+4
View File
@@ -56,7 +56,11 @@ fun box() {
// LINENUMBERS
// test.kt:13 foo
// test.kt:14 foo
// LINENUMBERS JVM
// test.kt:13 foo
// LINENUMBERS JVM_IR
// test.kt:10 foo
// LINENUMBERS
// test.kt:15 foo
// test.kt:30 box
// test.kt:31 box