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?

> 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.

I'm very confused by this error message because it doesn't make sense.
This error normally indicates that a node is commoned across basic blocks,
which is not allowed. However, this error is saying that node n1n, a BBEnd, is
somehow referenced after the supposed end of the basic block at node n13n,
which is not a BBEnd.

Looking at the log snippit you posted, I don't see any illegal commoning.
The fact that the icmpeq appears as an icmpne also doesn't make sense.

This, to me, indicates there's a bug somewhere.

One thing to try is to write a Tril test that generates that same sequence of trees.
I assume you're using your nj C API to generate the IL?

--
Leonardo


Back to the top