Integrated: 8333684: C2 SuperWord: multiple smaller refactorings in preparation for JDK-8332163
Emanuel Peter
epeter at openjdk.org
Thu Jun 13 06:38:22 UTC 2024
On Thu, 6 Jun 2024 07:31:53 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
> In preparation for https://github.com/openjdk/jdk/pull/19261, I made some smaller refactorings / moving code around:
>
> - `SuperWord::same_input` -> `PackSet::isa_unique_input_or_null`
> - Rename print-method tags: `SUPERWORD1_BEFORE_SCHEDULE` -> `AUTO_VECTORIZATION1_BEFORE_APPLY` etc.
> - Refactored `SuperWord::schedule / output` -> `SuperWord::schedule_and_apply`:
> - Reorganize so that we can separate out all methods that change the C2 graph into `SuperWord::apply`.
> - Move all `phase()->C->print_method` to `SuperWord::apply`.
> - Rename `SuperWord::schedule_reorder_memops` -> `SuperWord::apply_memops_reordering_with_schedule`.
> - Rename `SuperWord::output` -> `SuperWord::apply_vectorization`.
> - Move `SuperWord::vectors_should_be_aligned` -> `VLoop::vectors_should_be_aligned`.
> - Move `SuperWord::requires_long_to_int_conversion` -> `VectorNode::is_scalar_op_that_returns_int_but_vector_op_returns_long`, and move comments.
> - Move `VectorNode::can_transform_shift_op` -> `VectorNode::can_use_RShiftI_instead_of_URShiftI`, and move comments.
> - Extract out `PackSet::get_bool_test` from `SuperWord::output / apply_vectorization`.
> - Extract opcode check to `VectorNode::is_scalar_unary_op_with_equal_input_and_output_types`.
This pull request has now been integrated.
Changeset: 5d2a19de
Author: Emanuel Peter <epeter at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/5d2a19def154b81c8ebada5594e080fe76c5ffee
Stats: 327 lines in 6 files changed: 146 ins; 107 del; 74 mod
8333684: C2 SuperWord: multiple smaller refactorings in preparation for JDK-8332163
Reviewed-by: chagedorn, kvn
-------------
PR: https://git.openjdk.org/jdk/pull/19573
More information about the hotspot-compiler-dev
mailing list