Vladimir Kozlov
8cfd74f76a
8302976: C2 intrinsification of Float.floatToFloat16 and Float.float16ToFloat yields different result than the interpreter
...
Reviewed-by: sviswanathan, jbhateja, vlivanov
2023-03-09 03:26:38 +00:00
Smita Kamath
07946aa49c
8289552: Make intrinsic conversions between bit representations of half precision values and floats
...
Reviewed-by: kvn, sviswanathan, jbhateja
2022-10-11 17:06:19 +00:00
Roland Westrelin
cbaf6e807e
8288022: c2: Transform (CastLL (AddL into (AddL (CastLL when possible
...
Reviewed-by: thartmann, kvn
2022-07-06 11:36:12 +00:00
Emanuel Peter
06cadb36e0
8230382: Clean up ConvI2L, CastII and CastLL::Ideal methods
...
Reviewed-by: thartmann, roland
2022-02-28 12:13:35 +00:00
Aleksey Shipilev
0488ebdf14
8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly
...
Reviewed-by: kvn, thartmann
2021-11-02 06:38:26 +00:00
Roland Westrelin
20297a1beb
8263577: C2: reachable nodes shouldn't have dead uses at the end of optimizations
...
Reviewed-by: vlivanov, neliasso
2021-03-16 08:20:52 +00:00
Roland Westrelin
d93293f31b
8256730: Code that uses Object.checkIndex() range checks doesn't optimize well
...
Reviewed-by: vlivanov, thartmann
2020-12-10 08:09:08 +00:00
Roland Westrelin
3d460bd295
8256655: rework long counted loop handling
...
Reviewed-by: kvn, thartmann, vlivanov
2020-12-01 07:30:51 +00:00
Roberto Castañeda Lozano
432c387e21
8254317: C2: Resource consumption of ConvI2LNode::Ideal() grows exponentially
...
Prevent exponential number of calls to ConvI2LNode::Ideal() when AddIs are used
multiple times by other AddIs in the optimization ConvI2L(AddI(x, y)) ->
AddL(ConvI2L(x), ConvI2L(y)). This is achieved by (1) reusing existing ConvI2Ls
if possible rather than eagerly creating new ones and (2) postponing the
optimization of newly created ConvI2Ls. Remove hook node solution introduced in
8217359, since this is subsumed by (2). Use phase->is_IterGVN() rather than
can_reshape to check if ConvI2LNode::Ideal() is called within iterative GVN, for
clarity. Add regression tests that cover different shapes and sizes of AddI
subgraphs, implicitly checking (by not timing out) that there is no
combinatorial explosion.
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Reviewed-by: vlivanov, kvn
2020-11-11 10:18:36 +00:00
Tobias Hartmann
eb85b8da32
8255665: C2 should aggressively remove temporary hook nodes
...
Reviewed-by: chagedorn, kvn
2020-11-05 08:02:47 +00:00
Vladimir Ivanov
7e2640432b
8255000: C2: Unify IGVN processing when loop opts are over
...
Reviewed-by: neliasso, iveresov, kvn
2020-10-21 08:09:00 +00:00
Roland Westrelin
e76de18956
8223051: support loops with long (64b) trip counts
...
Reviewed-by: vlivanov, thartmann, jrose
2020-10-19 11:30:13 +00:00
Tobias Hartmann
326ba31787
8237950: C2 compilation fails with "Live Node limit exceeded limit" during ConvI2L::Ideal optimization
...
Postpone ConvI2L::Ideal optimization to IGVN.
Reviewed-by: kvn, neliasso
2020-06-19 11:32:51 +02:00
Michihiro Horie
f004d45d3d
8231649: PPC64: Intrinsics for Math.ceil, floor, rint on Power
...
Reviewed-by: mdoerr, vlivanov
2019-10-22 21:26:45 -05:00
Jatin Bhateja
d3ca3a02ff
8226721: Missing intrinsics for Math.ceil, floor, rint
...
Reviewed-by: neliasso, vlivanov, ecaspole
2019-10-01 11:43:10 +02:00
Tao Ji
3626d59867
8217359: C2 compiler triggers SIGSEGV after transformation in ConvI2LNode::Ideal
...
Reviewed-by: thartmann
2019-01-21 13:31:42 +08:00
Razvan Lupusoru
9b6a428212
8190800: Support vectorization of Math.sqrt() on floats
...
Reviewed-by: vlivanov, kvn
2017-11-22 14:43:37 +03:00
Erik Joelsson
3789983e89
8187443: Forest Consolidation: Move files to unified layout
...
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00