RFR: 8374889: C2 VectorAPI: must handle impossible combination of signed cast from float [v2]
Emanuel Peter
epeter at openjdk.org
Wed Jan 14 07:22:35 UTC 2026
On Wed, 14 Jan 2026 03:43:20 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:
>> Yes. I recommend doing this cleanup in this PR.
>> Unless we think there is a risk that gvn.transform and set_type_bottom will have different effects?
>> I think they amount to the same thing for a halt node.
>
> Also, the `reachable` parameter here seems misleading, of course a `Halt` is unreachable. The parameter seems to be about whether we will emit code for the `HaltNode`.
>
> instruct ShouldNotReachHere() %{
> match(Halt);
> format %{ "stop\t# ShouldNotReachHere" %}
> ins_encode %{
> if (is_reachable()) {
> const char* str = __ code_string(_halt_reason);
> __ stop(str);
> }
> %}
> ins_pipe(pipe_slow);
> %}
It will probably have to be `GraphKit::halt(HaltNode(Node* ctrl, Node* frameptr, const char* reason, bool generate_code_in_product = true)`.
Because there are lots of different uses, and the `ctrl`, `frameptr` and "reachability" are all also used in different ways.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29169#discussion_r2689255977
More information about the hotspot-compiler-dev
mailing list