Implement constant folding in the IR backend for JVM

The newly added pass folds the set of constant functions of the
current backend, plus IrBuiltIns.
This commit is contained in:
Ting-Yuan Huang
2019-02-07 16:12:28 -08:00
committed by max-kammerer
parent 7e4d33be24
commit 79fcaae991
28 changed files with 576 additions and 7 deletions
@@ -0,0 +1,16 @@
val a = 1.0 + 10
val b = 2 + 10.0
val c = 3.0F + 10
val d = 4 + 10.0F
val e = 1.0 / 0
val f = 1 / 0.0
val g = 0.0 / 0
val h = 0 / 0.0
val i = 0.0 / 0.0
// 1 LDC 11.0
// 1 LDC 12.0
// 1 LDC 13.0
// 1 LDC 14.0
// 2 LDC Infinity
// 3 LDC NaN