graal inlining decisions
Doug Simon
doug.simon at oracle.com
Thu Jun 6 05:32:59 PDT 2013
Pulling/applying this changeset may fix it: http://hg.openjdk.java.net/graal/graal/rev/6dfd53575553
On Jun 6, 2013, at 2:22 PM, Thomas Wuerthinger <thomas.wuerthinger at oracle.com> wrote:
> 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