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?

Recently, I moved my SOM++ implementation up to the latest version of the OMR compiler/JitBuilder.  I immediately starting getting the exact same validation errors as Dibyendu. To get around the errors I temporarily disabled the new verification which I know is not the right solution.  I assumed some of my more eccentric uses of JitBuilder were likely the cause so I put it on my TODO list to come back to later....

Dibyendu are you using JitBuilder?

Charlie

On Wed, Jun 27, 2018 at 9:13 AM, Andrew Craik <ajcraik@xxxxxxxxxx> wrote:

Hello again,

The optimizer has opts which are capable of transforming icmpeq to icmpne if the belief is that it is more efficient to do that for whatever reason. In the one full log you sent I don't see any sign of this - the opcode is icmpne from the Pre IlGenOpt trees the first time they are printed.

A minimal test case with a log would be helpful - we may also need traceILGen to see details from the il generator. Mark are there any other traces specific to JITBuilder or the other technologies Dibyendu is using that we should turn on to help debug this issue?

Cheers,

Andrew Craik
Testarossa JIT Common Optimizer and x86 Code Generation Team Lead
JIT Compiler Development and Performance
IBM Canada Lab

Phone: 1-905-413-3620
E-mail:
ajcraik@xxxxxxxxxx
Find me on:
LinkedIn: http://linkedin.com/in/andrewcraik
IBM

8200 Warden Ave
Markham, ON L6G 1C7
Canada


Inactive hide details for Dibyendu Majumdar ---26-06-2018 18:06:58---Hi Andrew, On 25 June 2018 at 13:50, Andrew Craik <ajcraikDibyendu Majumdar ---26-06-2018 18:06:58---Hi Andrew, On 25 June 2018 at 13:50, Andrew Craik <ajcraik@xxxxxxxxxx> wrote:

From: Dibyendu Majumdar <mobile@xxxxxxxxxxxxxxx>
To: omr developer discussions <omr-dev@xxxxxxxxxxx>
Date: 26-06-18 18:06
Subject: Re: [omr-dev] Help needed - what is wrong with this IL?
Sent by: omr-dev-bounces@xxxxxxxxxxx




Hi Andrew,

On 25 June 2018 at 13:50, Andrew Craik <ajcraik@xxxxxxxxxx> wrote:
> Thanks for sending the log through. I think the error message from the validator is being a little misleading - the reference counter for n161n in your log is 2 (the rc=2 on the lines where that node is printed in the trees). The node is only referenced by one parent and so the reference count should be 1. The error message you are getting is triggered when the end of the basic block is reached the node's ref count has not reached zero - ie the count suggests there is a future use outside of the block which would be illegal.
>

Many thanks for the insight. I will again check if I am doing
something wrong but given that switching the instruction to another
cmp opcode makes it work (all else being same) I don't think my code
is causing the IL to be corrupted as above.

Do you know why the compiler is changing the cmpeq opcode to cmpne ?
It seems that some transformation is happening - even before the
initial tree is output to the log.

I will re-examine my code and also try to reproduce this issue with a
standalone test case.

Thanks and Regards
Dibyendu
_______________________________________________
omr-dev mailing list
omr-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/omr-dev





_______________________________________________
omr-dev mailing list
omr-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/omr-dev



Back to the top