This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [gimplefe] hacking pass manager
- From: Prathamesh Kulkarni <prathamesh dot kulkarni at linaro dot org>
- To: Prasad Ghangal <prasad dot ghangal at gmail dot com>
- Cc: Richard Biener <richard dot guenther at gmail dot com>, David Malcolm <dmalcolm at redhat dot com>, gcc Mailing List <gcc at gcc dot gnu dot org>
- Date: Wed, 29 Jun 2016 21:50:29 +0530
- Subject: Re: [gimplefe] hacking pass manager
- Authentication-results: sourceware.org; auth=none
- References: <CAE+uiWbytggHpoQO1ZyLMctTOe3kfgd+vGx-43sVJ6447RbXVw at mail dot gmail dot com>
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.
Thanks,
Prathamesh
>
>
>
> Thanks,
> Prasad Ghangal