tool or option for viewing LIR nodes

Venkatachalam, Vasanth Vasanth.Venkatachalam at
Mon May 6 17:05:48 PDT 2013

Thanks Doug, that worked. It would be helpful to document this for those of us who are new to the tool.
I'm willing to take a stab at this if you like.


-----Original Message-----
From: Doug Simon [mailto:doug.simon at] 
Sent: Monday, May 06, 2013 10:41 AM
To: Venkatachalam, Vasanth
Cc: graal-dev at
Subject: Re: tool or option for viewing LIR nodes

On May 6, 2013, at 5:29 PM, "Venkatachalam, Vasanth" <Vasanth.Venkatachalam at> wrote:

> Doug and Giles,
> Here's the command line I'm using. 
> tester at see-anna1:~/graalcloneinternal/graal$ ./  --vm server  --java-home /home/tester/graal/jdk1.7.0_13/debug -G:Dump= -G:+PrintCFG unittest BasicHSAILTest
>          ...
> mx: error: unrecognized arguments: -G:Dump= -G:+PrintCFG
> Can someone explain what I'm doing wrong here?

You want:

./  --vm server  --java-home /home/tester/graal/jdk1.7.0_13/debug unittest BasicHSAILTest @-G:Dump= @-G:+PrintCFG 

That is, the VM options need to come after the 'unit test' command specifier *and* they must be prefixed with '@'. Sorry for the complexity of this command - we are planning on unifying all mx commands to use the same (or at least a more unified) interface.

If the method you are particularly interested in is com.amd.Test.myTest(), then you should also add:




to dump traces for all methods in the Test class.


> -----Original Message-----
> From: Doug Simon [mailto:doug.simon at]
> Sent: Saturday, May 04, 2013 4:47 PM
> To: Venkatachalam, Vasanth
> Cc: graal-dev at
> Subject: Re: tool or option for viewing LIR nodes
> As Gilles says, the -G options should work under --vm server. It helps if you post the complete command line you are using to see if we can spot a problem.
> -Doug
> On May 4, 2013, at 10:02 PM, Gilles Duboscq <duboscq at> wrote:
>> The server vm that contains Graal (--vm server) should definitely 
>> pick up all -G options including -G:Dump= and -G:+PrintCFG.
>> Since you are talking about unit tests i suppose you are using the 
>> GraalCompilerTest's method to explicitly trigger compilation.
>> I don't know how you are structuring your tests but there are some 
>> "Debug scopes" that need to be properly set up for these flags to 
>> work. Normally if you just make your test a subclass of 
>> GraalCompilerTest and then use its methods if should be fine.
>> On Sat, May 4, 2013 at 2:30 AM, Vasanth Venkatachalam < 
>> Vasanth.Venkatachalam at> wrote:
>>> Christian,
>>> Some more context to my question.
>>> I've added a Graal backend for HSAIL code generation. I'm debugging 
>>> the codegen for a test case where running with the --vm server 
>>> option produces some incorrect results.
>>> Thus I'd like to view the nodes that are produced when running with 
>>> the mx --vm server option.
>>> It looks like the c1visualizer tool can't be used with --vm server. 
>>> Is there another tool that can help?
>>> I had a similar issue with the IdealGraphVisualizer. The -G:Dump= 
>>> option isn't recognized when running with --vm server.
>>> Vasanth
>>> -----Original Message-----
>>> From: graal-dev-bounces at [mailto:
>>> graal-dev-bounces at] On Behalf Of Christian Wimmer
>>> Sent: Friday, May 03, 2013 12:22 PM
>>> To: graal-dev at
>>> Subject: Re: tool or option for viewing LIR nodes
>>> On 05/03/2013 09:23 AM, Venkatachalam, Vasanth wrote:
>>>> Is there a tool or option that would allow us to view the LIR nodes 
>>>> that
>>> Graal generates for a program?
>>> Yes.
>>> Graal can output the graph, LIR, register allocator liveness 
>>> information, and machine code in the format required by the Client Compiler Visualizer.
>>> As the name implies, the tool was originally written to visualize 
>>> the data structures of the Java HotSpot client compiler.
>>> You can get it here:
>>> The output is controlled the same ways as the output to the Ideal 
>>> Graph Visualizer, i.e., the -G:Dump= flag.  In addition, I think you 
>>> have to also pass -G:+PrintCFG
>>> The tool is file-based, i.e., you get .cfg files in your working 
>>> directory that you can load with the c1visualizer.
>>> -Christian

More information about the graal-dev mailing list