[
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?
|
Hi,
I am still stuck with this problem and would appreciate any help.
Below is the smallest snippet I was able to create that fails.
The code below was generated with OP code icmpeq - although in the
dump it appears to be icmpne - I do not understand why.
If I use the icmpne OP code or other comparison op codes the code compiles.
The error I am getting is:
*** VALIDATION ERROR ***
Node: BBEnd n1n
Method: file:line:comp
Node cannot live across block boundary at n13n
Here is IL from the trace log.
n2n BBStart <block_2>
[0x000001C89DD53900] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=0
n9n istorei <array-shadow>[#480 Shadow] [flags 0x80000603 0x0
] [0x000001C89DD53AC0] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=2
n8n aladd
[0x000001C89DD53A80] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=2
n5n loadaddr <temp slot 3>[#592 Auto] [flags 0x6001000e
0x0 ] [0x000001C89DD539C0] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n7n lconst 0
[0x000001C89DD53A40] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n6n iload Parm 0<parm 0 I>[#590 Parm] [flags 0x40000103 0x0
] [0x000001C89DD53A00] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n17n istore <temp slot 2>[#591 Auto] [flags 0x10003 0x0 ]
[0x000001C89DD53CC0] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=1
n16n icmpne
[0x000001C89DD53C80] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=2
n13n iloadi <array-shadow>[#480 Shadow] [flags 0x80000603
0x0 ] [0x000001C89DD53BC0] bci=[-1,0,-] rc=2 vc=0
vn=- li=- udi=- nc=1
n12n aladd
[0x000001C89DD53B80] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=2
n10n loadaddr <temp slot 3>[#592 Auto] [flags
0x6001000e 0x0 ] [0x000001C89DD53B00] bci=[-1,0,-]
rc=1 vc=0 vn=- li=- udi=- nc=0
n11n lconst 0
[0x000001C89DD53B40] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n14n iconst 0
[0x000001C89DD53C00] bci=[-1,0,-] rc=2 vc=0
vn=- li=- udi=- nc=0
n18n goto --> block_3 BBStart at n4n
[0x000001C89DD53D00] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=0
n1n BBEnd </block_2> =====
[0x000001C89DD538C0] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=0
n4n BBStart <block_3>
[0x000001C89DD53980] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=0
n20n ireturn
[0x000001C89DD53D80] bci=[-1,0,-] rc=0 vc=0
vn=- li=- udi=- nc=1
n19n iload <temp slot 2>[#591 Auto] [flags 0x10003 0x0 ]
[0x000001C89DD53D40] bci=[-1,0,-] rc=1 vc=0
vn=- li=- udi=- nc=0
n3n BBEnd </block_3>
[0x000001C89DD53940] 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 ]
[0x000001C89DD767B0] (Int32)
#590: Parm 0<parm 0 I>[ Parm] [flags 0x40000103 0x0 ]
[0x000001C89DD54AB0] (Int32)
#591: <temp slot 2>[ Auto] [flags 0x10003 0x0 ] [0x000001C89DD76610] (Int32)
#592: <temp slot 3>[ Auto] [flags 0x6001000e 0x0 ]
[0x000001C89DD766E0] (Aggregate)