This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [gimplefe] hacking pass manager
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Prathamesh Kulkarni <prathamesh dot kulkarni at linaro dot org>,Prasad Ghangal <prasad dot ghangal at gmail dot com>
- Cc: David Malcolm <dmalcolm at redhat dot com>,gcc Mailing List <gcc at gcc dot gnu dot org>
- Date: Wed, 29 Jun 2016 18:45:21 +0200
- Subject: Re: [gimplefe] hacking pass manager
- Authentication-results: sourceware.org; auth=none
- References: <CAE+uiWbytggHpoQO1ZyLMctTOe3kfgd+vGx-43sVJ6447RbXVw at mail dot gmail dot com> <CAAgBjM=8ZWqFC9itAkZkFa8k+U1pFz_PEzeyQhETLYzY+-GW0g at mail dot gmail dot com>
On June 29, 2016 6:20:29 PM GMT+02:00, Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> wrote:
>On 18 June 2016 at 12:02, Prasad Ghangal <prasad.ghangal@gmail.com>
>wrote:
>> Hi,
>>
>> I tried hacking pass manager to execute only given passes. For this I
>> am adding new member as opt_pass *custom_pass_list to the function
>> structure to store passes need to execute and providing the
>> custom_pass_list to execute_pass_list() function instead of all
>passes
>>
>> for test case like-
>>
>> int a;
>> void __GIMPLE (execute ("tree-ccp1", "tree-fre1")) foo()
>> {
>> bb_1:
>> a = 1 + a;
>> }
>>
>> it will execute only given passes i.e. ccp1 and fre1 pass on the
>function
>>
>> and for test case like -
>>
>> int a;
>> void __GIMPLE (startwith ("tree-ccp1")) foo()
>> {
>> bb_1:
>> a = 1 + a;
>> }
>>
>> it will act as a entry point to the pipeline and will execute passes
>> starting from given pass.
>Bike-shedding:
>Would it make sense to have syntax for defining pass ranges to execute
>?
>for instance:
>void __GIMPLE(execute (pass_start : pass_end))
>which would execute all the passes within range [pass_start, pass_end],
>which would be convenient if the range is large.
But it would rely on a particular pass pipeline, f.e. pass-start appearing before pass-end.
Currently control doesn't work 100% as it only replaces all_optimizations but not lowering passes or early opts, nor IPA opts.
Richard.
>Thanks,
>Prathamesh
>>
>>
>>
>> Thanks,
>> Prasad Ghangal