RFR: 8325520: Vector loads and stores with indices and masks incorrectly compiled [v11]

Damon Fenacci dfenacci at openjdk.org
Wed May 22 15:58:09 UTC 2024


On Tue, 21 May 2024 06:48:12 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> src/hotspot/share/opto/vectornode.hpp line 979:
>> 
>>> 977:                                                     idx == MemNode::ValueIn ||
>>> 978:                                                     idx == MemNode::ValueIn + 1; }
>>> 979:    virtual Node* offsets() const { return in(Offsets); }
>> 
>> Would be nice to add some `override` keywords here ;)
>
> And also below.

On macosx we build with the flag `-Winconsistent-missing-override` enabled, which seems to allow either no `override` anywhere or in all places where a method actually overrides another one. So, in this case it seems that we would either need to add `override`s to `virtual int Opcode()`, `virtual uint match_edge(uint idx)`, `virtual Node* Ideal(PhaseGVN* phase, bool can_reshape)` etc. in all classes, or remove the 4 `override` keywords from the `indices` and `mask` methods. I might opt for the second choice. @eme64 what do you think?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18347#discussion_r1610251737


More information about the hotspot-compiler-dev mailing list