Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [omr-dev] Help needed - what is wrong with this IL?

Here is a smaller example that fails validation.

Pre IlGenOpt Trees: for file:line:not

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
n2n       BBStart <block_2>
                       [0x0000024DAD4B3900] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=0
n9n       istorei  <array-shadow>[#480  Shadow] [flags 0x80000603 0x0
]                       [0x0000024DAD4B3AC0] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=2
n8n         aladd
                       [0x0000024DAD4B3A80] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=2
n5n           loadaddr  <temp slot 3>[#592  Auto] [flags 0x6001000e
0x0 ]                     [0x0000024DAD4B39C0] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n7n           lconst 0
                       [0x0000024DAD4B3A40] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n6n         iload  Parm  0<parm 0 I>[#590  Parm] [flags 0x40000103 0x0
]                      [0x0000024DAD4B3A00] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n20n      istorei  <array-shadow>[#480  Shadow] [flags 0x80000603 0x0
]                       [0x0000024DAD4B3D80] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=2
n19n        aladd
                       [0x0000024DAD4B3D40] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=2
n18n          loadaddr  <temp slot 2>[#591  Auto] [flags 0x6001000e
0x0 ]                     [0x0000024DAD4B3D00] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n17n          lconst 0
                       [0x0000024DAD4B3CC0] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n16n        icmpne
                       [0x0000024DAD4B3C80] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=2
n13n          iloadi  <array-shadow>[#480  Shadow] [flags 0x80000603
0x0 ]                    [0x0000024DAD4B3BC0] bci=[-1,0,-] rc=2 vc=0
vn=- li=- udi=- nc=1
n12n            aladd
                       [0x0000024DAD4B3B80] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=2
n10n              loadaddr  <temp slot 3>[#592  Auto] [flags
0x6001000e 0x0 ]                 [0x0000024DAD4B3B00] bci=[-1,0,-]
rc=1 vc=0 vn=- li=- udi=- nc=0
n11n              lconst 0
                       [0x0000024DAD4B3B40] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n14n          iconst 0
                       [0x0000024DAD4B3C00] bci=[-1,0,-] rc=2 vc=0
vn=- li=- udi=- nc=0
n21n      goto --> block_3 BBStart at n4n
                       [0x0000024DAD4B3DC0] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=0
n1n       BBEnd </block_2> =====
                       [0x0000024DAD4B38C0] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=0

n4n       BBStart <block_3>
                       [0x0000024DAD4B3980] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=0
n26n      ireturn
                       [0x0000024DAD4B3F00] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=1
n25n        iloadi  <array-shadow>[#480  Shadow] [flags 0x80000603 0x0
]                      [0x0000024DAD4B3EC0] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=1
n24n          aladd
                       [0x0000024DAD4B3E80] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=2
n23n            loadaddr  <temp slot 2>[#591  Auto] [flags 0x6001000e
0x0 ]                   [0x0000024DAD4B3E40] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n22n            lconst 0
                       [0x0000024DAD4B3E00] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n3n       BBEnd </block_3>
                       [0x0000024DAD4B3940] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=0

index:       node global index
bci=[x,y,z]: byte-code-info [callee-index, bytecode-index, line-number]
rc:          reference count
vc:          visit count
vn:          value number
li:          local index
udi:         use/def index
nc:          number of children
addr:        address size in bytes
flg:         node flags

Symbol References (incremental):
--------------------------------
#480:  <array-shadow>[ Shadow] [flags 0x80000603 0x0 ]
[0x0000024DAD4D67B0] (Int32)
#590:  Parm  0<parm 0 I>[ Parm] [flags 0x40000103 0x0 ]
[0x0000024DAD4B4AB0] (Int32)
#591:  <temp slot 2>[ Auto] [flags 0x6001000e 0x0 ]
[0x0000024DAD4D6610] (Aggregate)
#592:  <temp slot 3>[ Auto] [flags 0x6001000e 0x0 ]
[0x0000024DAD4D66E0] (Aggregate)

Number of nodes = 25, symRefCount = 593
</trees>

<cfg>
         0 [0x0000024DAD4D6230] entry
                 in        = []
                 out       = [2(0) ]
                 exception in  = []
                 exception out = []
         1 [0x0000024DAD4D6130] exit
                 in        = [3(0) ]
                 out       = []
                 exception in  = []
                 exception out = []
         2 [0x0000024DAD4D6340] BBStart at 0x0000024DAD4B3900
                 in        = [0(0) ]
                 out       = [3(0) ]
                 exception in  = []
                 exception out = []
         3 [0x0000024DAD4D6480] BBStart at 0x0000024DAD4B3980
                 in        = [2(0) ]
                 out       = [1(0) ]
                 exception in  = []
                 exception out = []

</cfg>

On 23 June 2018 at 00:12, Dibyendu Majumdar <mobile@xxxxxxxxxxxxxxx> wrote:
> Hi,
>
> I am getting an error:
>
> *** VALIDATION ERROR ***
> Node: BBEnd n5n
> Method: file:line:sets3
> Node cannot live across block boundary at n161n
>
> But I can't see what is wrong with attached IL. Any help appreciated.
>
> Thanks and Regards
> Dibyendu


Back to the top