RFR: 8345609: [C1] LIR Operations with one input should be implemented as LIR_Op1
Martin Doerr
mdoerr at openjdk.org
Thu Dec 5 17:19:43 UTC 2024
On Thu, 5 Dec 2024 16:57:24 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:
> Change `lir_sqrt`, `lir_abs`, `lir_neg`, `lir_f2hf`, `lir_hf2f` to use `LIR_Op1`. Extend `LIR_Op1` to support one temp register operand.
> Also see JBS issue.
>
> Remove `lir_tan` and `lir_log10` which are unused (dead and incomplete code). They should get implemented in a better way if needed in the future, but I guess they are not important to have in C1.
src/hotspot/share/c1/c1_LIR.cpp line 492:
> 490: assert(op1->_info != nullptr, ""); do_info(op1->_info);
> 491: if (op1->_opr->is_valid()) do_temp(op1->_opr); // safepoints on SPARC need temporary register
> 492: assert(op1->_tmp->is_illegal(), "not used");
I think safepoints should ideally be implemented as LIR_Op0. SPARC support is removed. We could file a new RFE for that.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22582#discussion_r1871787519
More information about the hotspot-compiler-dev
mailing list