Jatin Bhateja
a49ecb26c5
8352635: Improve inferencing of Float16 operations with constant inputs
...
Reviewed-by: epeter, sviswanathan
2025-06-26 15:42:43 +00:00
Cesar Soares Lucas
704b5990a7
8358534: Bailout in Conv2B::Ideal when type of cmp input is not supported
...
Reviewed-by: shade
2025-06-03 20:15:20 +00:00
Roland Westrelin
bcac42aabc
8349479: C2: when a Type node becomes dead, make CFG path that uses it unreachable
...
Reviewed-by: chagedorn, vlivanov
2025-04-10 07:04:15 +00:00
Aleksey Shipilev
b73663a2b4
8351155: C1/C2: Remove 32-bit x86 specific FP rounding support
...
Reviewed-by: vlivanov, kvn
2025-03-27 18:10:53 +00:00
Jatin Bhateja
4b463ee70e
8342103: C2 compiler support for Float16 type and associated scalar operations
...
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Bhavana Kilambi <bkilambi@openjdk.org>
Co-authored-by: Joe Darcy <darcy@openjdk.org>
Co-authored-by: Raffaello Giulietti <rgiulietti@openjdk.org>
Reviewed-by: psandoz, epeter, sviswanathan
2025-02-12 17:02:51 +00:00
Stefan Karlsson
c33c1cfe73
8347909: Automatic precompiled.hpp inclusion
...
Reviewed-by: lkorinth, erikj, dholmes, ihse
2025-01-21 10:21:24 +00:00
Jasmine Karthikeyan
36993aea9a
8316918: Optimize conversions duplicated across phi nodes
...
Reviewed-by: thartmann, kvn
2023-10-16 12:52:01 +00:00
Kim Barrett
c077be4768
8314694: Separate checked_cast from globalDefinitions.hpp
...
Reviewed-by: stuefe, coleenp, sspitsyn
2023-08-23 22:32:37 +00:00
Jasmine Karthikeyan
fb0b1f0c23
8051725: Improve expansion of Conv2B nodes in the middle-end
...
Reviewed-by: thartmann, qamai, sviswanathan
2023-05-30 14:11:12 +00:00
Emanuel Peter
cc894d849a
8303466: C2: failed: malformed control flow. Limit type made precise with MaxL/MinL
...
Reviewed-by: roland, kvn, chagedorn, thartmann
2023-04-26 05:42:26 +00:00
Johan Sjölen
5726d31e56
8301074: Replace NULL with nullptr in share/opto/
...
Reviewed-by: kvn, jwilhelm
2023-03-09 20:28:26 +00:00
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