graal inlining decisions
Thomas Wuerthinger
thomas.wuerthinger at oracle.com
Thu Jun 6 05:22:21 PDT 2013
Maybe you are missing a call to this method: "DebugEnvironment.initialize(System.out)"
Does dumping the graph to the IdealGraphVisualizer work in the code below?
- thomas
On Jun 3, 2013, at 2:04 PM, "Deneau, Tom" <tom.deneau at amd.com> wrote:
> 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