graal inlining decisions

Deneau, Tom tom.deneau at amd.com
Mon Jun 3 05:04:18 PDT 2013


Thomas --

I tried this command line
   mx --vm server unittest @-G:Log=InliningDecisions ArrayListGetTest

which only runs a single test, and I did not see any inlining decisions logged (one method is being compiled by the graal hsail compiler in the above case)

If I instead use a --vm graal command line
   mx --vm server unittest @-G:Log=InliningDecisions ArrayListGetTest

I see only the hosted x86 inlining decisions, not the hsail decisions.

We are compiling the HSAIL with with code like the following:


    public static HSAILCompilationResult getHSAILCompilationResult(StructuredGraph graph) {
        Debug.dump(graph, "Graph");
        TargetDescription target = new TargetDescription(new HSAIL(), true, 1, 0, true);
        HSAILBackend hsailBackend = new HSAILBackend(Graal.getRequiredCapability(GraalCodeCacheProvider.class), target);
        PhasePlan phasePlan = new PhasePlan();
        GraphBuilderPhase graphBuilderPhase = new GraphBuilderPhase(runtime, GraphBuilderConfiguration.getDefault(), OptimisticOptimizations.NONE);
        phasePlan.addPhase(PhasePosition.AFTER_PARSING, graphBuilderPhase);
        phasePlan.addPhase(PhasePosition.AFTER_PARSING, new HSAILPhase());
        new HSAILPhase().apply(graph);
        CallingConvention cc = getCallingConvention(runtime, Type.JavaCallee, graph.method(), false);
        CompilationResult compResult = GraalCompiler.compileGraph(graph, cc, graph.method(), runtime, 																	  replacements, // graalRuntime().getReplacements(),															  hsailBackend, target, null,
									  phasePlan, OptimisticOptimizations.NONE, new SpeculationLog());

-- Tom Deneau


-----Original Message-----
From: Thomas Wuerthinger [mailto:thomas.wuerthinger at oracle.com] 
Sent: Sunday, June 02, 2013 2:17 PM
To: Deneau, Tom
Cc: graal-dev at openjdk.java.net
Subject: Re: graal inlining decisions

If you run with "--vm server", the host should be the server compiler and therefore not be affected by the "-G:Log" value. Additionally, you can choose to either limit the number of unit tests executed or apply a "-G:MethodFilter=" argument to reduce the output to certain patterns of methods.

- thomas

On May 29, 2013, at 1:22 AM, "Deneau, Tom" <tom.deneau at amd.com> wrote:

> Just to clarify, I would like to see the inlining decisions made when I compile for an HSAIL target,
> (not interested in any decisions made for the x86 host).
> 
> When I use the line below with mx unittest I see only x86 decisions...
> 
> -- Tom
> 
> -----Original Message-----
> From: Mick Jordan [mailto:mick.jordan at oracle.com] 
> Sent: Tuesday, May 28, 2013 11:08 AM
> To: Deneau, Tom
> Cc: graal-dev at openjdk.java.net
> Subject: Re: graal inlining decisions
> 
> On 5/28/13 8:13 AM, Deneau, Tom wrote:
>> What would be the best command line to use to see what kind of inlining decisions are being made in graal?
>> 
>> -- Tom
> This works for me:
> 
> -G:Log=InliningDecisions
> 
> Mick
> 
> 
> 





More information about the graal-dev mailing list