GithubHelp home page GithubHelp logo

Comments (3)

hzongaro avatar hzongaro commented on May 31, 2024 1

@a7ehuo, may I ask you to look at this one as well? I know you've gained some familiarity with PRE after looking at #18777. One thing I notice with this test is that it produces correct output if I remove the volatile attribute from b.

from openj9.

pshipton avatar pshipton commented on May 31, 2024

@hzongaro fyi

from openj9.

a7ehuo avatar a7ehuo commented on May 31, 2024

I can reproduce this issue with lastOptIndex=99,lastOptSubIndex=4

[   180]  99.4    O^O PARTIAL REDUNDANCY ELIMINATION: Eliminating redundant computation (lloadi) : 00007F4DF18878B0 in block_46, visit count 1156

The eliminated computation 0x7f4df18878b0 is lloadi Test.c which is part of the inlined code from Test.l. It is replaced by a lload from a temp initialized in loop pre-header. I'm still looking.

CalleeIndex CallerIndex ByteCodeIndex CalleeMethod
       0         -1          13       Test.g(I)V
       1          0           8       Test.l(FII)V
       2          1          12       java/lang/Float.floatToIntBits(F)I
n414n     BBStart <block_46> (freq 10000) (in loop 46)                                        [0x7f4df188d120] bci=[2,0,744] rc=0 vc=1068 vn=109 li=-1 udi=- nc=0
n415n     astore  <temp slot 5>[#466  Auto] [flags 0x20000007 0x0 ] (X!=0 privatizedInlinerArg )  [0x7f4df188d170] bci=[-1,10,18] rc=0 vc=1068 vn=1 li=-1 udi=2 nc=1 flg=0x2004
n416n       aload  <'this' parm LTest;>[#421  Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 )      [0x7f4df188d1c0] bci=[-1,10,18] rc=1 vc=1068 vn=1 li=1 udi=28 nc=0 flg=0x104
n257n     astore  <temp slot 8>[#462  Auto] [flags 0x20000007 0x0 ] (X!=0 privatizedInlinerArg )  [0x7f4df188a010] bci=[0,4,12] rc=0 vc=1068 vn=1 li=-1 udi=3 nc=1 flg=0x2004
n82n        aload  <'this' parm LTest;>[#421  Parm] [flags 0x40000107 0x0 ] (X!=0 )           [0x7f4df1886960] bci=[0,4,12] rc=1 vc=1068 vn=1 li=1 udi=29 nc=0 flg=0x4
n129n     fstore  <temp slot 9>[#463  Auto] [flags 0x20000005 0x0 ]                           [0x7f4df1887810] bci=[1,5,6] rc=0 vc=1068 vn=13 li=-1 udi=4 nc=1
n128n       l2f                                                                               [0x7f4df18877c0] bci=[1,4,6] rc=1 vc=1068 vn=13 li=3 udi=- nc=1
n127n         lloadi  Test.a J[#443  Shadow +8] [flags 0x604 0x0 ] (cannotOverflow )          [0x7f4df1887770] bci=[1,1,6] rc=1 vc=1068 vn=12 li=2 udi=- nc=1 flg=0x1000
n126n           aload  <'this' parm LTest;>[#421  Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 )  [0x7f4df1887720] bci=[1,0,6] rc=1 vc=1068 vn=1 li=1 udi=30 nc=0 flg=0x104
n254n     lstore  <temp slot 7>[#461  Auto] [flags 0x4 0x0 ]                                  [0x7f4df1889f20] bci=[1,8,7] rc=0 vc=1068 vn=14 li=-1 udi=5 nc=1
n131n       lloadi  Test.c J[#446  Shadow +24] [flags 0x604 0x0 ] (cannotOverflow )           [0x7f4df18878b0] bci=[1,8,7] rc=1 vc=1068 vn=14 li=4 udi=- nc=1 flg=0x1000
n130n         aload  <'this' parm LTest;>[#421  Parm] [flags 0x40000107 0x0 ] (X!=0 X>=0 )    [0x7f4df1887860] bci=[1,6,7] rc=2 vc=1068 vn=1 li=1 udi=31 nc=0 flg=0x104
n253n     astore  <temp slot 6>[#460  Auto] [flags 0x7 0x0 ] (X!=0 )                          [0x7f4df1889ed0] bci=[1,6,7] rc=0 vc=1068 vn=1 li=-1 udi=6 nc=1 flg=0x4
n130n       ==>aload
n186n     istore  <auto slot 1>[#456  Auto] [flags 0x3 0x0 ]                                  [0x7f4df18889e0] bci=[2,4,744] rc=0 vc=1068 vn=15 li=-1 udi=7 nc=1
n180n       fbits2i                                                                           [0x7f4df1888800] bci=[2,1,744] rc=1 vc=1068 vn=15 li=6 udi=- nc=1
n179n         fload  <temp slot 9>[#463  Auto] [flags 0x20000005 0x0 ]                        [0x7f4df18887b0] bci=[2,0,744] rc=1 vc=1068 vn=13 li=5 udi=32 nc=0
n193n     ificmpeq --> block_21 BBStart at n191n ()                                           [0x7f4df1888c10] bci=[2,11,747] rc=0 vc=1068 vn=110 li=-1 udi=- nc=2 flg=0x20
n189n       iand (X>=0 cannotOverflow )                                                       [0x7f4df1888ad0] bci=[2,8,747] rc=1 vc=1068 vn=17 li=8 udi=- nc=2 flg=0x1100
n187n         iload  <auto slot 1>[#456  Auto] [flags 0x3 0x0 ] (cannotOverflow )             [0x7f4df1888a30] bci=[2,5,747] rc=1 vc=1068 vn=15 li=7 udi=33 nc=0 flg=0x1000
n188n         iconst 0x7f800000 (X!=0 X>=0 )                                                  [0x7f4df1888a80] bci=[2,6,747] rc=1 vc=1068 vn=16 li=-1 udi=- nc=0 flg=0x104
n190n       iconst 0x7f800000 (X!=0 X>=0 )                                                    [0x7f4df1888b20] bci=[2,9,747] rc=1 vc=1068 vn=16 li=-1 udi=- nc=0 flg=0x104
n178n     BBEnd </block_46> =====                                                             [0x7f4df1888760] bci=[2,11,747] rc=0 vc=920 vn=111 li=-1 udi=- nc=0

from openj9.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.