eclipse / omr

Eclipse OMR™ Cross platform components for building reliable, high performance language runtimes
http://www.eclipse.org/omr
Other
943 stars 394 forks source link

Fix GRA for vector mask opcodes #6806

Open Akira1Saitoh opened 1 year ago

Akira1Saitoh commented 1 year ago

Currently, GRA incorrectly assigns GPR for load/store of vector masks as shown below (x11 is assigned to mRegLoad). GRA should be fixed to properly assign appropriate registers for mRegLoad/mRegStore. On AArch64, GRA for vector opcode (including masks) is disabled by https://github.com/eclipse/omr/pull/6802.

2596329 ------------------------------
2596330  n7016n   (  0)  BBStart <block_480> (freq 731) (cold) (loop pre-header) (in loop 4)        
2596330           [       0x1428840c0] bci=[-1,80,5259] rc=0 vc=1955 vn=- li=480 udi=- nc=1
2596331  n11608n  (  0)    GlRegDeps ()                                                             
2596331           [       0x146ac1c20] bci=[-1,80,5259] rc=0 vc=1955 vn=- li=480 udi=- nc=6 flg=0x20
2596332  n11609n  (  6)      iRegLoad x15   <auto slot 7>[#367  Auto] [flags 0x3 0x0 ] (in GPR_0592)
2596332  (X>=0 cannotOverflow SeenRealReference )  [       0x146ac1c70] bci=[19,16,303] rc=6 vc=1955
2596332  vn=- li=480 udi=46496 nc=0 flg=0x9100
2596333  n11610n  (  4)      iRegLoad x13   <temp slot 45>[#1332  Auto] [flags 0x3 0x0 ] (in GPR_059
2596333 3) (X>=0 cannotOverflow SeenRealReference )  [       0x146ac1cc0] bci=[15,8,2979] rc=4 vc=19
2596333 55 vn=- li=480 udi=46608 nc=0 flg=0x9100
2596334  n11611n  (  6)      iRegLoad x12   <temp slot 37>[#1318  Auto] [flags 0x3 0x0 ] (in GPR_059
2596334 4) (cannotOverflow SeenRealReference )  [       0x146ac1d10] bci=[56,42,57] rc=6 vc=1955 vn=
2596334 - li=480 udi=46720 nc=0 flg=0x9000
2596335  n11612n  (  3)      mRegLoad x11   <auto slot -1>[#1322  Auto] [flags 0x17 0x0 ] (in VRF_05
2596335 95) (X!=0 SeenRealReference )  [       0x146ac1d60] bci=[32,4,279] rc=3 vc=1955 vn=- li=480 
2596335 udi=46832 nc=0 flg=0x8004
2596336  n11613n  (  3)      aRegLoad x10   <temp slot 12>[#556  Auto] [flags 0x4007 0x0 ] (in &GPR_
2596336 0596) (X!=0 SeenRealReference sharedMemory )  [       0x146ac1db0] bci=[23,17,3747] rc=3 vc=
2596336 1955 vn=- li=480 udi=46944 nc=0 flg=0x8004
2596337  n11614n  (  2)      iRegLoad x8   <auto slot 6>[#365  Auto] [flags 0x3 0x0 ] (in GPR_0597) 
2596337           [       0x146ac1e00] bci=[-1,80,5259] rc=2 vc=1955 vn=- li=480 udi=47056 nc=0
2596338 ------------------------------
Akira1Saitoh commented 1 year ago

FYI @knn-k @gita-omr

gita-omr commented 1 year ago

Thanks @Akira1Saitoh . @BradleyWood @midronij @r30shah fyi