RFR: 8371065: C2 SuperWord: VTransformLoopPhiNode::apply setting type leads to assert/wrong result [v2]

Emanuel Peter epeter at openjdk.org
Wed Nov 12 06:59:05 UTC 2025


On Sat, 8 Nov 2025 15:59:50 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

>> Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   add diagnostic flag for product build
>
> That may be more preferable. Or we can track the type in `VTransformLoopPhiNode` and change it when we decide to do the transformation, at the same time as other nodes in the loop? I see that `VTransformLoopPhiNode::apply` returns a `make_scalar`, which seems confusing if it can be a vector, too. Or we can have `VTransformScalarLoopPhi` and `VTransformVectorLoopPhi` as separate classes, but it seems like it will result in some unnecessary duplication.
> 
> These are just suggestions, and my expertise in the superword vectorizer is definitely lacking, please make the decision that you think is best.

@merykitty @chhagedorn Thanks for the reviews and suggestions!

@rwestrel Thanks again for the time spent on the initial reproducer!

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

PR Comment: https://git.openjdk.org/jdk/pull/28113#issuecomment-3520331722


More information about the hotspot-compiler-dev mailing list