Control-Flow Analysis: Reuse pseudo-value information for unused expression analysis

This commit is contained in:
Alexey Sedunov
2014-07-25 14:52:15 +04:00
parent 2a19016d58
commit 9cbcabffa4
55 changed files with 239 additions and 190 deletions
@@ -2,21 +2,21 @@ inline fun inlineFunWithInvoke(s: (p: Int) -> Unit) {
(s)(11)
(s).invoke(11)
(s) invoke 11
(<!USAGE_IS_NOT_INLINABLE!>s<!>)
(<!USAGE_IS_NOT_INLINABLE, UNUSED_EXPRESSION!>s<!>)
}
inline fun Function1<Int, Unit>.inlineExt() {
(this).invoke(11)
(this) invoke 11
(this)(11)
(<!USAGE_IS_NOT_INLINABLE!>this<!>)
(<!USAGE_IS_NOT_INLINABLE, UNUSED_EXPRESSION!>this<!>)
}
inline fun inlineFunWithInvoke2(s: (p: Int) -> Unit) {
(((s)))(11)
(((s))).invoke(11)
(((s))) invoke 11
(((<!USAGE_IS_NOT_INLINABLE!>s<!>)))
(((<!USAGE_IS_NOT_INLINABLE, UNUSED_EXPRESSION!>s<!>)))
}
inline fun propagation(s: (p: Int) -> Unit) {
@@ -51,7 +51,7 @@ inline fun Function1<Int, Unit>.inlineExt() {
this invoke 11
this(11)
<!USAGE_IS_NOT_INLINABLE!>this<!>
<!USAGE_IS_NOT_INLINABLE, UNUSED_EXPRESSION!>this<!>
11
}
@@ -2,7 +2,7 @@ inline fun inlineFunWithInvoke(s: (p: Int) -> Unit) {
(s: (p: Int) -> Unit)(11)
(s: (p: Int) -> Unit).invoke(11)
(s: (p: Int) -> Unit) invoke 11
(<!USAGE_IS_NOT_INLINABLE!>s<!>)
(<!USAGE_IS_NOT_INLINABLE, UNUSED_EXPRESSION!>s<!>)
}
inline fun Function1<Int, Unit>.inlineExt() {
@@ -18,4 +18,4 @@ inline fun inlineFunWithInvoke2(s: (p: Int) -> Unit) {
(((s: (p: Int) -> Unit): (p: Int) -> Unit): (p: Int) -> Unit).invoke(11)
(((s: (p: Int) -> Unit): (p: Int) -> Unit): (p: Int) -> Unit) invoke 11
(((<!USAGE_IS_NOT_INLINABLE!>s<!>: (p: Int) -> Unit)))
}
}