8230015: [instruction selector] generic vector operands support.
Deshpande, Vivek R
vivek.r.deshpande at intel.com
Mon Sep 23 18:45:53 UTC 2019
Hi Jatin
I tested on submit repo with patch from http://cr.openjdk.java.net/~jbhateja/genericVectorOperands/webrev.02/
The report is attached.
@Vladimir Ivanov
The build failed for Mac OS. Could you please help us to get/locate the build failure log and error log?
Regards,
Vivek
-----Original Message-----
From: Deshpande, Vivek R
Sent: Monday, September 9, 2019 5:24 PM
To: Bhateja, Jatin <jatin.bhateja at intel.com>
Cc: Vladimir Kozlov <vladimir.kozlov at oracle.com>; Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; Yang Zhang (Arm Technology China) <Yang.Zhang at arm.com>; hotspot-compiler-dev at openjdk.java.net
Subject: RE: 8230015: [instruction selector] generic vector operands support.
Hi Jatin
I did tests with submit repo and found out the some failures and build issues.
For windows build, you need move the #include "precompiled.hpp" at the top of the postSelection_x86.cpp file.
Please find the submit repo results attached with the mail.
Regards,
Vivek
-----Original Message-----
From: Bhateja, Jatin
Sent: Tuesday, September 3, 2019 2:21 AM
To: Deshpande, Vivek R <vivek.r.deshpande at intel.com>
Cc: Vladimir Kozlov <vladimir.kozlov at oracle.com>; Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; Yang Zhang (Arm Technology China) <Yang.Zhang at arm.com>; hotspot-compiler-dev at openjdk.java.net
Subject: RE: 8230015: [instruction selector] generic vector operands support.
Hi Vivek,
Please find below the CR link for submit-repo testing.
http://cr.openjdk.java.net/~jbhateja/genericVectorOperands/webrev.01/
Thanks,
Jatin
> -----Original Message-----
> From: Deshpande, Vivek R
> Sent: Saturday, August 31, 2019 3:55 AM
> To: Bhateja, Jatin <jatin.bhateja at intel.com>; Yang Zhang (Arm
> Technology
> China) <Yang.Zhang at arm.com>; hotspot-compiler-dev at openjdk.java.net
> Cc: Vladimir Kozlov <vladimir.kozlov at oracle.com>
> Subject: RE: 8230015: [instruction selector] generic vector operands support.
>
> Hi Jatin,
>
> Could you please give me the updated patch with #ifdefs and I can
> submit it to submit-repo for testing.
>
> Regards,
> Vivek
>
> -----Original Message-----
> From: hotspot-compiler-dev [mailto:hotspot-compiler-dev-
> bounces at openjdk.java.net] On Behalf Of Bhateja, Jatin
> Sent: Wednesday, August 28, 2019 2:45 AM
> To: Yang Zhang (Arm Technology China) <Yang.Zhang at arm.com>; hotspot-
> compiler-dev at openjdk.java.net
> Cc: Vladimir Kozlov <vladimir.kozlov at oracle.com>
> Subject: RE: 8230015: [instruction selector] generic vector operands support.
>
>
> Hi Yang,
>
> Thanks for your response.
>
> We are also working over the idea of moving out the operator (uOp and
> bOp) into a separate ideal node, but that will need changes in shape
> of ideal graph.
>
> Generic operands is another level of optimization which will
> complement "aggressive optimization".
> In addition, it will also reduce the number of checks for different
> vector operand type (vecS, vecD, vecX, vecY, vecZ and their legacy
> variants) within ADLC generate DFA used while matching, since there
> will only be two vector operands (vecG and legVecG) now.
>
> Current patch enables this support only for x86 target, to get a
> feedback from community.
>
> Best Regards,
> Jatin
>
>
> > -----Original Message-----
> > From: Yang Zhang (Arm Technology China) <Yang.Zhang at arm.com>
> > Sent: Wednesday, August 28, 2019 2:49 PM
> > To: Bhateja, Jatin <jatin.bhateja at intel.com>; hotspot-compiler-
> > dev at openjdk.java.net
> > Cc: Vladimir Kozlov <vladimir.kozlov at oracle.com>
> > Subject: RE: 8230015: [instruction selector] generic vector operands
> support.
> >
> > Hi Jatin
> >
> > The question how to reduce code size is discussed previously. I also
> > create a JBS to track it under panama project.
> > https://bugs.openjdk.java.net/browse/JDK-8229866
> > There is a more aggressive idea.
> > http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-
> > April/033362.html
> >
> > Using the idea of generic vector operands, I implement an example
> > (vaddB/S/I) in AArch64 platform. The code size reduction in
> > libjvm.so is ~30kb. If all the vector instructions are merged, the
> > estimated size reduction will be ~300kb.
> >
> > How about using a more aggressive way to reduce code size?
> >
> > PS. When I test this patch in AArch64 platform, build fails with the
> > log undefined reference to
> > `Matcher::do_post_selection_processing(Compile*,
> > Node*)'.
> > I fix this failure by adding #ifdef X86 to these code.
> >
> > Regards
> > Yang
> >
> > -----Original Message-----
> > From: hotspot-compiler-dev <hotspot-compiler-dev-
> > bounces at openjdk.java.net> On Behalf Of Bhateja, Jatin
> > Sent: Thursday, August 22, 2019 2:50 PM
> > To: hotspot-compiler-dev at openjdk.java.net
> > Cc: Vladimir Kozlov <vladimir.kozlov at oracle.com>
> > Subject: 8230015: [instruction selector] generic vector operands support.
> >
> > Hi All,
> >
> > Please find below a patch for generic vector operands[1] support
> > during instruction selection.
> >
> > Motivation behind the patch is to reduce the number of vector
> > selection patterns whose operands meagerly differ in vector lengths.
> > This will not only result in lesser code being generated by ADLC
> > which effectively translates to size reduction in libjvm.so but also
> > help in better maintenance of AD files.
> >
> > Using generic operands we were able to collapse multiple vector
> > patterns over mainline
> > Initial number of vector instruction patterns (vec[XYZSD] +
> > legVec[ZXYSD] : 510
> > Reduced vector instruction patterns (vecG + legVecG)
> > : 222
> >
> > With this we could see around 1MB size reduction in libjvm.so.
> >
> > In order to have minimal impact over downstream compiler passes, a
> > post- selection pass has been introduced (currently enabled only for
> > X86 target) which replaces these generic operands with their
> > corresponding concreter vector length variants.
> >
> > JBS : https://bugs.openjdk.java.net/browse/JDK-8230015
> > Patch :
> > http://cr.openjdk.java.net/~jbhateja/genericVectorOperands/webrev.00
> > /
> >
> > Kindly review and share your feedback.
> >
> > Best Regards,
> > Jatin Bhateja
> >
> > [1]
> > http://cr.openjdk.java.net/~jbhateja/genericVectorOperands/generic_o
> > pe
> > ra
> > nds_support_v1.0.pdf
> >
> > IMPORTANT NOTICE: The contents of this email and any attachments are
> > confidential and may also be privileged. If you are not the intended
> > recipient, please notify the sender immediately and do not disclose
> > the contents to any other person, use it for any purpose, or store
> > or copy the information in any medium. Thank you.
-------------- next part --------------
An embedded message was scrubbed...
From: "do-not-reply at oracle.com" <do-not-reply at oracle.com>
Subject: [Mach5] mach5-one-vdeshpande-JDK-8230015-3-20190919-1846-5288641: FAILED, Failed tests: 1
Date: Thu, 19 Sep 2019 19:28:59 +0000
Size: 6467
URL: <https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20190923/c58c36e6/attachment.mht>
More information about the hotspot-compiler-dev
mailing list