RFR: 8320725: C2: Add "requires_strict_order" flag for floating-point add-reduction [v8]

Bhavana Kilambi bkilambi at openjdk.org
Wed May 8 20:26:04 UTC 2024


On Tue, 7 May 2024 13:20:37 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

> I just realized that there is no regression test. And I think it would be nice to have one.
> 
> Also, we should add some sort of message to the `dump` if the `ReductionNode` has the `requires_strict_order` on or off. I think that could be done in `dump_spec`.
> 
> You could do it similar to:
> 
> ```
> #ifndef PRODUCT
> void VectorMaskCmpNode::dump_spec(outputStream *st) const {
>   st->print(" %d #", _predicate); _type->dump_on(st);
> }
> #endif // PRODUCT
> ```
> 
> This would actually allow you to create a IR test!
> 
> You would check that the AddReductionVNode is annotated correctly. You need some VectorAPI tests, and some SuperWord auto-vectorization tests.
> 
> How does that sound? That would ensure that nobody can easily destroy your RFE, at least not in the IR.

Hi @eme64 , thanks for the suggestion. I can add the `dump_spec` as suggested (which would print if the `_requires_strict_order` flag is enabled/disabled) but I am not sure if I fully understand what's expected in the JTREG tests. Should I be verifying the `-XX:+PrintIdeal` output to make sure the correct message is being printed for the `ReductionV*` nodes?

-------------

PR Comment: https://git.openjdk.org/jdk/pull/18034#issuecomment-2101362464


More information about the hotspot-compiler-dev mailing list